Data Structures and Algorithms in Java
6th Edition
ISBN: 9781118771334
Author: Michael T. Goodrich
Publisher: WILEY
expand_more
expand_more
format_list_bulleted
Concept explainers
Textbook Question
Chapter 2, Problem 12R
Draw a class inheritance diagram for the following set of classes:
- Class Goat extends Object and adds an instance variable tail and methods milk() and jump().
- Class Pig extends Object and adds an instance variable nose and methods eat(food) and wallow().
- Class Horse extends Object and adds instance variables height and color, and methods run() and jump().
- Class Racer extends Horse and adds a method race().
- Class Equestrian extends Horse and adds instance variable weight and isTrained, and methods trot() and isTrained().
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
Draw a class diagram consisting of a base class named Person and a derived class named Student consist of :
Encapsulation
Polymorphism
Inheritance
Base classes vs Derived classes
Protected Access vs Packaged Access & Abstract Methods and Classes
Class Inheritance with abstract class
Define a class Employee with the following fields: _name, _empId, _department, _position (_title), _yearlySalary, _fullTime (a boolean: true/false) , _month , _year (time of hire)
Add constructor and properties
Define an abstract method GetBiMonthlySalary() (if the employee is paid twice a month)
Define an abstract method GetVacationTime() that returns the number of vacation time this employee would have based on time of hire
Override the ToString() method to return a string that contains the information pertaining to an employee such as: name, empId, department, and where full time or not.
Define a class HourlyEmployee that inherits from Employee.
This class should have 2 fields of its own: _hours (hours worked in half a month) and _wage (hourly wage)
Provide necessary constructor, properties and methods
Override the ToString() to also return the additional fields
Gets 3 days of vacation after first year if the employee works…
Draw a class inheritance diagram for the following set of classes:
• Class Goat extends Object and adds an instance variable tail and methods milk() and jump().
• Class Pig extends Object and adds an instance variable nose and methods eat(food) and wallow().
• Class Horse extends Object and adds instance variables height and color, and methods run() and jump().
• Class Racer extends Horse and adds a method race().
• Class Equestrian extends Horse and adds instance variable weight and isTrained, and methods trot() and
isTrained().
Chapter 2 Solutions
Data Structures and Algorithms in Java
Ch. 2 - Give three examples of life-critical software...Ch. 2 - Give an example of a software application in which...Ch. 2 - Prob. 3RCh. 2 - Prob. 4RCh. 2 - Prob. 5RCh. 2 - Give a short fragment of Java code that uses the...Ch. 2 - Prob. 7RCh. 2 - Prob. 8RCh. 2 - Prob. 9RCh. 2 - Prob. 10R
Ch. 2 - Prob. 11RCh. 2 - Draw a class inheritance diagram for the following...Ch. 2 - Prob. 13RCh. 2 - Prob. 14RCh. 2 - If the parameter to the makePayment method of the...Ch. 2 - Prob. 16CCh. 2 - Most modern Java compilers have optimizers that...Ch. 2 - The PredatoryCreditCard class provides a...Ch. 2 - Modify the PredatoryCreditCard class so that a...Ch. 2 - Prob. 20CCh. 2 - Write a program that consists of three classes, A,...Ch. 2 - Prob. 22CCh. 2 - Prob. 23CCh. 2 - Write a Java class that extends the Progression...Ch. 2 - Redesign the Progression class to be abstract and...Ch. 2 - Use a solution to Exercise C-2.25 to create a new...Ch. 2 - Use a solution to Exercise C-2.25 to reimplement...Ch. 2 - Write a set of Java classes that can simulate an...Ch. 2 - Write a Java program that inputs a polynomial in...Ch. 2 - Write a Java program that inputs a document and...Ch. 2 - Prob. 31PCh. 2 - Write a Java program that simulates a system that...Ch. 2 - Define a Polygon interface that has methods area()...Ch. 2 - Prob. 35PCh. 2 - Write a Java program that can make change. Your...
Additional Engineering Textbook Solutions
Find more solutions based on key concepts
Consider the adage Never ask a question for which you do not want the answer. a. Is following that adage ethica...
Experiencing MIS
Porter’s competitive forces model: The model is used to provide a general view about the firms, the competitors...
Management Information Systems: Managing the Digital Firm (15th Edition)
Write an SQL statement to display the name and breed of all pets, sorted by PetName.
Database Concepts (8th Edition)
Convert the following if-else-if statement into a switch statement: if (choice == 1) { System.out.println(You s...
Starting Out with Java: Early Objects (6th Edition)
The article mentions that quantum computers will have tremendous processing power and revolutionize a number of...
Using MIS (10th Edition)
A file that contains a Flash animation uses the __________ file extension. a. .class b. .swf c. .mp3 d. .flash
Web Development and Design Foundations with HTML5 (8th Edition)
Knowledge Booster
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.Similar questions
- language: Java Class Inheritance with an abstract class Define a class Employee with the following fields: _name, _empId, _department, _position (_title), _yearlySalary, _fullTime (a boolean: true/false) , _month , _year (time of hire) Add constructor and properties Define an abstract method GetBiMonthlySalary() (if the employee is paid twice a month) Define an abstract method GetVacationTime() that returns the number of vacation time this employee would have based on time of hire Override the ToString() method to return a string that contains the information pertaining to an employee such as name, empId, department, and where full time or not. Define a class HourlyEmployee that inherits from Employee. This class should have 2 fields of its own: _hours (hours worked in half a month) and _wage (hourly wage) Provide necessary constructor, properties and methods Override the ToString() to also return the additional fields Gets 3 days of vacation after first year if the…arrow_forwardClass Relationships Exercises 1. In Java, we use inheritance for "is-a" relationships. Containment, on the other hand, indicates that one object has another object. These are "has-a" relationships. For the following relationships, determine if they are a "is-a" or a "has-a" relationship: o bicycle - vehicle o car - engine o pizza - topping o food - pizza o dog - mammal 2. Share with someone else 3 other examples for each of the following relationships: o Inheritance ("is-a" relationship) o Containment ("has-a" relationship) 3. public class PersonInfo { protected String firstName; protected String birthdate; } public class ChildInfo extends PersonInfo { private String schoolName; } public class MotherInfo extends PersonInfo { private String spousename; private ChildInfo children1; private ChildInfo children2; private ChildInfo children3; ... } A. Draw the relationships for the classes above using UML. If a class inherits from another class, draw an open arrow pointing to the base class…arrow_forwardQ: Write a full java application program to implement the following classes using inheritance, then apply instanceOf operator and dynamic binding Person: Variables:( Fname,Lname)/method: constructor /printInfo()/tostring() Student: Variables: (Id) / method: constructor/Print()/tostring() ITStudent: Variables: (ml,m2,m3)/ method: constructor/avg()/tostring()arrow_forward
- 1. An inheritance principle is used to explore and extend the Course class. The UML of the Course is presented below: Course - courseName : String - sectionNumber : int - instructorName : String - numberOfStudentsEnrolled : int #Course() #Course(courseName : String) #Course(courseName : String, sectionNumber: int, instructorName : String) +getCapacity() : int +getCourseName() : String +setCourseName(courseName : String) : void +getSectionNumber() : int +setSectionNumber(sectionNumber : int) : void +getlnstructorName() : String +setlnstructorName(instructorName : String) : void +getNumberOfStudentsEnrolled() : int +toString(): String Part 1.1. Implement the abstract class Course strictly according to its UML one-to-one (do not include anything extra, do not miss any data fields or methods). Add comments to your program and mark where data fields, constructors, getters, setters and toString() are located, and which method is abstract or static (if any). Note: No methods should have any…arrow_forwardTASK 1 Draw the UML class diagrams for the following classes: An abstract Java class called Person that has the following attributes: a String called idNumber a Date called dateOfBirth representing the date of birth. a String for name A class called RideRecord with the following attributes: a Driver attribute an enum called type of RideType a Date called date a double called fee A class called Passenger that extends the Person class and has the following attributes and behaviours: an ArrayList that contains RideRecord objects called rideHistory a public method called takeRide that takes a RideRecord with the following signature:public void takeRide(RideRecord rideRecord); a public boolean method called hasRideHistory that returns whether or not the Passenger has taken a ride before. A Driver class that extends the Person class and has the following attributes and behaviors: a String called licenseCode a public method called giveRide that takes as a parameter a Passenger…arrow_forwardoop using c++ please give me full naswer thanks Design a class named Person and its two subclasses named Student and Employee. Design two more classes; Faculty and Staff and inherit them from Employee. The detail of classes is as under: A person has a name, email address, phone number and address. A student has a status (String). An employee has an office, salary, and date hired A faculty member has office hours and rank A staff member has a title. Create display method in each class. Also create getter, setter and default constructor in above task.arrow_forward
- Q# In the company example, a supervisor has a supervisee. This “has-a” relationship is called: Group of answer choices 1. parent 2. composition 3. extending 3. inheritancearrow_forwardpls help me using python This is the code it provides: class Artist:# TODO: Define constructor with parameters to initialize instance attributes# (name, birth_year, death_year) # TODO: Define print_info() method. If death_year is -1, only print birth_year class Artwork:# TODO: Define constructor with parameters to initialize instance attributes# (title, year_created, artist) # TODO: Define print_info() method if __name__ == "__main__":user_artist_name = input()user_birth_year = int(input())user_death_year = int(input())user_title = input()user_year_created = int(input()) user_artist = Artist(user_artist_name, user_birth_year, user_death_year) new_artwork = Artwork(user_title, user_year_created, user_artist)new_artwork.print_info()arrow_forwardINTRO JAVA Problem 1 Implement a superclass Person. Make two classes, Student and Instructor, that inherits from Person. A person has a name and a year of birth. A student has a major, and an instructor has a salary. Write the class declarations, the constructors, and the methods toString & equals for all classes. Supply a test program for these classes and methods. Problem 2 Make a class Employee with a name and salary. Make a class Manager that inherits from Employee. Add an instance variable, named department, of type String. Make a class Executive inherit from Manager. Implement toString and equals methods for all classes; supply a test program that tests these classes and methods toString() method should print all the properties of the class; as Name and DOB is same for both student and instructor, you can implement it in the superclass "Person" Problem 1 Create 3 students Student1 : Name James, DOB: 01/01/2000, Major: English Student2: Name Jane, DOB:…arrow_forward
- Consider the following detailed inheritance hierarchy diagram: (ATTACHED IN IMAGE) The person constructor has two string parameters, a first name, and the last name. The constructor initializes the e-mail address to the first letter of the first name followed by the first five letters of the last name followed by @jc.com. If the last name has fewer than five letters, the e-mail address will be the first letter of the first name followed by the entire late name followed by @jc.com A) Implement the person constructor: B) Override Object's toString method for the Person class. The toString method should return the present state of the object. Assume that the constructor writer for the previous part of this problem works as intended. C) Write both the Person and Student class headers so that the Student is a subclass of Person.arrow_forwardConsider the following detailed inheritance hierarchy diagram: (ATTACHED IN IMAGE) The person constructor has two string parameters, a first name, and the last name. The constructor initializes the e-mail address to the first letter of the first name followed by the first five letters of the last name followed by @jc.com. If the last name has fewer than five letters, the e-mail address will be the first letter of the first name followed by the entire late name followed by @jc.com Implement the person constructor:arrow_forwardDefining Classes Write and document the definition for the Money class. The Money class represents an amount in U.S. dollars. Money Class e Fields cents : int dollars : int e Methods getValue() : double Money(int d, int c) setCents(int c) : void setDollars(int d) : void toString() : String • Each Money object has two int instance variables: dollars and cents. • The class has one constructor that takes two int parameters. The first int represents whole dollars, and the second int represents cents. • The class has one accessor method named getValue() which returns the amount as a double. (Just divide cents by 100.0 and add it to dollars. Return that amount.) • The class has two mutator methods-setDollars() and setCents()–that modify the corresponding instance variables. • The class has a toString() method that returns the amount as a String in the form: $ 2345.75. Use concatenation to produce the output. Do not worry about the decimal places.arrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
Recommended textbooks for you
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education
Introduction to Classes and Objects - Part 1 (Data Structures & Algorithms #3); Author: CS Dojo;https://www.youtube.com/watch?v=8yjkWGRlUmY;License: Standard YouTube License, CC-BY