Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Assignment: Abstract Java Houses Bob is a Contactor and Computer Scientist who does work on trailers. To track his work he wrote a program that

Assignment: Abstract Java Houses

Bob is a Contactor and Computer Scientist who does work on trailers. To track his work he wrote a program that tracked: how much money he made and how many trailers he'd worked on. Below are extracted source files from his program skeleton.

Abstract Java House This program has the capacity to be very useful for any job involving homes: mansions, bungalows, condos, etc. To make this program more marketable to a wider audience it needs to be refactored into a generic program using abstract classes. By making a job class other than Contractor and another home-type class the program will become valuable to many more people. Your task is to:

Write the abstract class, abstractHouse, which has: an integer variable for the number of rooms in the house a double variable for the value of the house an integer variable for the amount of work required on the house an integer variable to act as a work counter, tracking the amount of work done on the house an abstract void method to calculate the value of the house an abstract Boolean method to perform work Write the Mansion class implementing the abstractHouse class. You may refer to the Trailer class for hints on implementation. The Mansion class must have: an integer variable for the number of floors a Boolean variable indicating if it has a driveway, if it has one increase the house value by 200 and work required of the house by 20 a Boolean variable indicating if it is furnished, if it is increase the value by 500 and work required by 100 implemented abstract methods a constructor that takes as input the number of rooms, the number of floors, a Boolean value hasDriveway and a Boolean value isFurnished. Write a class for a job that involves working with houses other than the Contractor. You may refer to the Contractor class for implementation ideas. This class must: maintain a Queue of houses that are either being currently worked on, or will be worked on call the implemented abstract methods in the queue a double variable, wallet, initially at 0 that tracks the amount of money earned from completing house jobs an integer counter, tracking the number of houses completed when complete all jobs, summarize the number of jobs completed and amount earned randomly add new jobs of a random house type, be careful with this as you could enter an infinite loop. Refer to the numbers used in Contractor for an approach. Exceed the Expectations: Does the doWork() method need to be abstract? Try to refactor the program so that doWork() is not abstract but may call an abstract method.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Making Databases Work The Pragmatic Wisdom Of Michael Stonebraker

Authors: Michael L. Brodie

1st Edition

1947487167, 978-1947487161

More Books

Students also viewed these Databases questions

Question

1. Outline the directions on the board.

Answered: 1 week ago