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
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
Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
Related questions
Question
TASK 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 object, a RideType, and a double fee.
Task 2: General Abstracts
For this task you will be asked to create the Java classes described in the UML diagram in Task 1.
Instructions
- The class Person has the following implementations in addition to those specified above:
- the dateOfBirth attribute is of type java.util.Date
- public getter methods for the attributes
- a public constructor Person with the following method signature:public Person(String idNumber, String name, Date dateOfBirth)
- declare an abstract compareTo method in Person with the following signature:public int compareTo(Person p);
- The class called RideRecord has the following extra details:
- the enum called RideType has the following possible values:DUIKER, KUDU, TEMBO
- the public constructor for the RideRecord has the following signature:public RideRecord(Driver driver, RideType type, double fee);
- the date attribute is of type java.util.Date
- The class called Passenger that extends the Person class has the following additional attributes and behaviours:
- the public method called takeRide takes a rideRecord and adds it to the rideHistory list
- a constructor with the following method signature:public Passenger(String idNumber, String name, Date dateOfBirth);
- The class called Driver has the following additional attributes and behaviours:
- a public constructor with the following method signature:public Driver(String idNumber, String name, Date dateOfBirth, String licenseCode);
- the giveRide method creates a new RideRecord using the RideType and fee and calls the takeRide method on the Passenger. The method signature is as follows:public void giveRide(RideRecord.RideType type, double fee, Passenger passenger);
Expert Solution
This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
Step by step
Solved in 2 steps with 1 images
Follow-up Questions
Read through expert solutions to related follow-up questions below.
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.Recommended textbooks for you
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
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