C How to Program (8th Edition)
8th Edition
ISBN: 9780133976892
Author: Paul J. Deitel, Harvey Deitel
Publisher: PEARSON
expand_more
expand_more
format_list_bulleted
Concept explainers
Textbook Question
Chapter 19, Problem 19.5E
(Protected vs. Private Base Classes) Some programmers prefer not to use protected access because they believe it breaks the encapsulation of the base class. Discuss the relative merits of using protected access vs. using private access in base classes.
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
(Java)
The Sculpture Subclass
Write class as follows:
The class is named Sculpture, and it inherits from the Painting class.
It has a private boolean member variable named humanForm
It has a default constructor that assigns the values "No name" to name, "No artist" to artist, -1 to the year, "No medium" to the medium, and false to the humanForm variable. This default constructor calls the five argument constructor.
It has a five-argument constructor to assign values to the name, artist, year, medium, and humanForm variables.
It has a getter and setter for the humanForm variable.
It has a toString() method.
This class contains no other methods
Make sure to include your name, the name of this class, our course number, and the Activity number in a Javadoc comment at the top.
Make sure to write a Javadoc comment for each of these methods.
(Java)
The Abstract Art Class
Write an abstract class as follows:
The class is named Art
It inherits from the Comparable interface
It has a private String member variable named name
It has a private String member variable named artist
It has a private int member variable called year
It has a default constructor that assigns the values "No name" to name, "No artist" to artist and -1 to the year. This default constructor calls the three argument constructor.
It has a three-argument constructor to assign values to the name, artist and year variables.
It has a copy constructor that makes a copy of another non-null Art object
It has getters and setters for the name, artist and year variables
It has a toString() method that creates a string of artist, with name and year tabbed once on subsequent lines (see sample output)
It has an equals method that compares this Art to another Object
It has a compareTo method that compares in this order: 1) artist, 2) name, 3) year
This class contains no…
(The Time class)
Design a class named Time.
The class contains:
- The data fields hour, minute, and second that represent a time.
- A no-arg constructor that creates a Time object for the current time. (The values of the data fields
will represent the current time.)
-A constructor that constructs a Time object with a specified elapsed time since midnight, January
1, 1970, in milliseconds. (The values of the data fields will represent this time.)
-A constructor that constructs a Time object with the specified hour, minute, and second.
- Three getter methods for the data fields hour, minute, and second, respectively.
-A method named setTime (long elapseTime) that sets a new time for the object using the
elapsed time. For example, if the elapsed time is 555550000 milliseconds, the hour is 10, the
minute is 19, and the second is 10.
Draw the UML diagram for the class and then implement the class.
Write a test program that creates two Time objects (using new Time (), new Time(555550000),…
Chapter 19 Solutions
C How to Program (8th Edition)
Ch. 19 - Prob. 19.3ECh. 19 - (Inheritance Advantage) Discuss the ways in which...Ch. 19 - (Protected vs. Private Base Classes) Some...Ch. 19 - (Student Inheritance Hierarchy) Draw an...Ch. 19 - Prob. 19.7ECh. 19 - (Quadrilateral Inheritance Hierarchy) Draw an...Ch. 19 - 19.9 (Package Inheritance Hierarchy)...Ch. 19 - (Account Inheritance Hierarchy) Create an...
Additional Engineering Textbook Solutions
Find more solutions based on key concepts
The ___________ programming practice is centered on creating objects. a. object-centric b. objective c. procedu...
Starting Out with Python (4th Edition)
What is a Java applet?
Introduction to Java Programming and Data Structures, Comprehensive Version (11th Edition)
This statement can cause other program statements to execute only under certain conditions. 1. Conditional 2. D...
Starting Out With Visual Basic (8th Edition)
Suppose the variable X in a program was declared to be of type integer. What error would occur when executing t...
Computer Science: An Overview (13th Edition) (What's New in Computer Science)
The following code transposes the elements of an M M array, where M is a constant defined by #define. When com...
Computer Systems: A Programmer's Perspective (3rd Edition)
3.12 (Date Create a class called Date that includes three pieces Of information as data
members—a month (type ...
C++ How to Program (10th 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
- Problem (Online Address Book): Using classes, design an online address book to keep track of the names, addresses, phone numbers, and dates of birth of family members, close friends, and certain business associates. Define a class addressType that can store a street address, city, state, and ZIP code. Use the appropriate functions to print and store the address. Also, use constructors to automatically initialize the member variables. Define a class extPersonType using the class personType with following members and methods: firstname, lastname, and accessors and mutators, print to display, and constructors. Define a class dateType for month, day and year as members with its accessors, mutators, and constructors) Design a class addressType. Add a member variable to this class to classify the person as a family member, friend, or business associate. Also, add a member variable to store the phone number. Add (or override) the functions to print and store the appropriate information.…arrow_forward(Package Inheritance Hierarchy) Package-delivery services, such as FedEx® ,DHL®and UPS® ,offer a number of different shipping options, each with specific costsassociated. Create an inheritance hierarchy to represent various types of packages. Useclass Package as the base class of the hierarchy, then include classes TwoDayPackageand OvernightPackage that derive from Package.Base class Package should include data members representing the name, address, city,state and ZIPcode for both these sender and the recipient of the package, in addition todata members that store the weight (in ounces)and cost per ounce to ship the package.Package’s constructor should initialize these data members. Ensure that the weight andcost per ounce contain positive values. Package should provide a public memberfunction calculate Cost that returns a double indicating the cost associated with shippingthe package. Package’s calculate Cost function should determine the cost bymultiplying the weight by the cost per…arrow_forward(Package Inheritance Hierarchy) Package-delivery services, such as FedEx® ,DHL®and UPS® ,offer a number of different shipping options, each with specific costsassociated. Create an inheritance hierarchy to represent various types of packages. Useclass Package as the base class of the hierarchy, then include classes TwoDayPackageand OvernightPackage that derive from Package.Base class Package should include data members representing the name, address, city,state and ZIPcode for both these sender and the recipient of the package, in addition todata members that store the weight (in ounces)and cost per ounce to ship the package.Package’s constructor should initialize these data members. Ensure that the weight andcost per ounce contain positive values. Package should provide a public memberfunction calculate Cost that returns a double indicating the cost associated with shippingthe package. Package’s calculate Cost function should determine the cost bymultiplying the weight by the cost per…arrow_forward
- (JAVA) Create a class hierarchy to represent the different types of employees in an office who have the following job titles: manager, assistant, salesperson. Write an abstract base class called Employee that declares an abstract method: signature double calculateSalary() This class must also define the following attributes: name (String type), enrollment (String type) and base_salary (double type). Use encapsulation and provide a constructor that receives the corresponding values to be stored in the respective attributes. This abstract class must be extended by the other classes representing the types of employees, so the classes Manager, Assistant and Salesperson must be written. In each class you must override the method calculateSalario so that the salary calculation is done like this: The manager receives twice the base_salary, the assistant receives the base_salary and the salesperson receives the base_salary plus a commission defined in the constructor of his class. Create a…arrow_forward(Triangle class) Design a new Triangle class that extends the abstract Geometricobject class. Draw the UML diagram for the classes Triangle and Geometricobject then implement the Triangle class. Write a test program that prompts the user to enter three sides of the triangle, a color, and a Boolean value to indicate whether the triangle is filed. The program should create a Tri- angle object with the se sides, and set the color and filled properties using the input. The program should display the area, perimeter, color, and true or false to indicate whether it is filled or not.arrow_forward(The Person, Student, Employee, Faculty, and Staff classes) Design a class named Person and its two subclasses named Student and Employee. Make Faculty and Staff subclasses of Employee. A person has a name, address, phone number, and e-mail address. A student has a class status (freshman, sophomore, junior, or senior). Define the status as a constant. An employee has an office, salary, and date hired. Use the MyDate class defined in Programming Exercise 10.14 – see the textbook - to create an object for date hired. A faculty member has office hours and a rank. A staff member has a title. Override the toString method in each class to display the class name and the person's name. Draw the UML diagram for the classes and implement them. Write a test program that creates a Person, Student, Employee, Faculty, and Staff, and invokes their toString() methods.arrow_forward
- (Inheriting Interface vs. Inheriting Implementation) A derived class can inherit “interface” or “implementation” from a base class. How do inheritance hierarchies designed for inheriting interface differ from those designed for inheriting implementation?arrow_forward(Person Class) Design a class named Person that contains: o name, gender, and personCase as a private attribute o Non-default constructor that specifies name and gender o toString method that returns person data o personCase () method with no implementation (Student Class) Design a class named Student which is a child of Person that contains: o studentID as a private attribute o Nondefault constructor that specifies the name, gender, and studentID o toString method that returns student data o Implement personCase () that assigns "Not Studying" to personCase if studentID equals 0, “Studying" in case studentID greater than 0, and "Not a student" in case studentID less than 0. (Employee Class) Design a class named Employee which is a child of Person that contains: o employeelD as a private attribute o Non-default constructor that specifies the name, gender, and employeelD o toString method that returns employee data o Implement personCase () that assign “Technical" to personCase if…arrow_forward(Composition as an Alternative to Inheritance) Many programs written with inheritancecould be written with composition instead, and vice versa. Rewrite class BasePlusCommissionEmployee of the CommissionEmployee–BasePlusCommissionEmployee hierarchy to use compositionrather than inheritance. After you do this, assess the relative merits of the two approaches for designing classes CommissionEmployee and BasePlusCommissionEmployee, as well as for object-oriented programs in general. Which approach is more natural? Why?arrow_forward
- (Account class)Create an Account class that a bank might use to represent customers’ bank accounts. Include a data member of type int to represent the account balance. Provide a constructor that receives an initial balance and uses it to initialize the data member. The constructor should validate the initial balance to ensure that it’s greater than or equal to 0. If not, set the balance to 0 and display an error message indicating that the initial balance was invalid. Provide three member functions. Member function credit should add an amount to the current balance. Member function debit should withdraw money from the Account and ensure that the debit amount does not exceed the Account’s balance. If it does, the balance should be left unchanged, and the function should print a message indicating "Debit amount exceeded account balance." Member function get_Balance should return the current balance. Create a program that creates two Account objects and tests the member functions of class…arrow_forward6. (Immutable Data Class Objects) Built-in types int, float, str and tuple are immutable. Data classes can simulate immutability by designating that objects of the class should be "frozen" after they're created. Client code cannot assign values to the attributes of a frozen object. Research "frozen" data classes, then reimplement this chapter's Complex class as a "frozen" data class. Show that you cannot modify a Complex object after you create it.arrow_forward(Richer Shape Hierarchy) The world of shapes is much richer than the shapes included inthe inheritance hierarchy of Fig. 19.3. Write down all the shapes you can think of—both two-dimensional and three-dimensional—and form them into a more complete Shape hierarchy with asmany levels as possible. Your hierarchy should have the base class Shape from which class TwoDimensionalShape and class ThreeDimensionalShape are derived. [Note: You do not need to write any codefor this exercise.] We’ll use this hierarchy in the exercises of Chapter 20 to process a set of distinctshapes as objects of base-class Shape. (This technique, called polymorphism, is the subject ofChapter 20.)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
What is Abstract Data Types(ADT) in Data Structures ? | with Example; Author: Simple Snippets;https://www.youtube.com/watch?v=n0e27Cpc88E;License: Standard YouTube License, CC-BY