Given the main class Dog, subclass Poodle, and the beginning of the subclass Pug: Instructions for Pug.java Variables: int flabCount – the count of layers on the Pug An invalid value should default this field to 25. A value is invalid if it is nonpositive. boolean isPound – whether this Pug resides in the pound. Poodle bestFriend- a Poodle who is the best friend with the Pug Constructors: A constructor that takes in name, length, weight, stripeCount, isSaltwater, and bestFriend. The bestFriend argument should be deep copied. A constructor that takes in no parameters and sets name to “Pluto”, length to 30.0, weight to 320.0, stripeCount to 14, isPound to false, and bestFriend to null. A copy constructor that deep copies all necessary instance fields. Methods: migrate The pug moves to the opposite kind of living situation if and only if it does not have a best friend. For example, if this pug were now in a pound and it has a best friend, it would not migrate to a house but instead stay in the pound. toString Overrides the corresponding method in its super class, such that a String with the following format is returned without trailing or leading whitespace. “I’m a talking dog named . My length is ft in and my weight is lbs oz. I’m a {pound/house} pug with layers. I have {no best friend/a best friend} named }.” No getters or setters should be written. 1. Would I do the below to set the default for flabCount? if(int flabCount < 0) this.flabcount = 25? 2. Am I creating the migrate method correctly and if so, how would I go about creating the toString method and calling a name from Poodle for it? 3. Is that the correct notation to deep copy bestFriend and is there anything else that needs fixing to match the instructions?
Given the main class Dog, subclass Poodle, and the beginning of the subclass Pug: Instructions for Pug.java Variables: int flabCount – the count of layers on the Pug An invalid value should default this field to 25. A value is invalid if it is nonpositive. boolean isPound – whether this Pug resides in the pound. Poodle bestFriend- a Poodle who is the best friend with the Pug Constructors: A constructor that takes in name, length, weight, stripeCount, isSaltwater, and bestFriend. The bestFriend argument should be deep copied. A constructor that takes in no parameters and sets name to “Pluto”, length to 30.0, weight to 320.0, stripeCount to 14, isPound to false, and bestFriend to null. A copy constructor that deep copies all necessary instance fields. Methods: migrate The pug moves to the opposite kind of living situation if and only if it does not have a best friend. For example, if this pug were now in a pound and it has a best friend, it would not migrate to a house but instead stay in the pound. toString Overrides the corresponding method in its super class, such that a String with the following format is returned without trailing or leading whitespace. “I’m a talking dog named . My length is ft in and my weight is lbs oz. I’m a {pound/house} pug with layers. I have {no best friend/a best friend} named }.” No getters or setters should be written. 1. Would I do the below to set the default for flabCount? if(int flabCount < 0) this.flabcount = 25? 2. Am I creating the migrate method correctly and if so, how would I go about creating the toString method and calling a name from Poodle for it? 3. Is that the correct notation to deep copy bestFriend and is there anything else that needs fixing to match the instructions?
Chapter11: Advanced Inheritance Concepts
Section: Chapter Questions
Problem 2PE
Related questions
Question
Given the main class Dog, subclass Poodle, and the beginning of the subclass Pug:
Instructions for Pug.java
Variables:
- int flabCount – the count of layers on the Pug
- An invalid value should default this field to 25.
- A value is invalid if it is nonpositive.
- boolean isPound – whether this Pug resides in the pound.
- Poodle bestFriend- a Poodle who is the best friend with the Pug
Constructors:
- A constructor that takes in name, length, weight, stripeCount, isSaltwater, and bestFriend.
- The bestFriend argument should be deep copied.
- A constructor that takes in no parameters and sets name to “Pluto”, length to 30.0, weight to 320.0, stripeCount to 14, isPound to false, and bestFriend to null.
- A copy constructor that deep copies all necessary instance fields.
Methods:
- migrate
- The pug moves to the opposite kind of living situation if and only if it does not have a best friend.
- For example, if this pug were now in a pound and it has a best friend, it would not migrate to a house but instead stay in the pound.
- toString
- Overrides the corresponding method in its super class, such that a String with the following format is returned without trailing or leading whitespace.
- “I’m a talking dog named <name>. My length is <feet> ft <inches> in and my weight is <pounds> lbs <ounces> oz. I’m a {pound/house} pug with <flabCount> layers. I have {no best friend/a best friend} named <bestFriendName>}.”
- No getters or setters should be written.
1. Would I do the below to set the default for flabCount?
if(int flabCount < 0)
this.flabcount = 25?
2. Am I creating the migrate method correctly and if so, how would I go about creating the toString method and calling a name from Poodle for it?
3. Is that the correct notation to deep copy bestFriend and is there anything else that needs fixing to match the instructions?
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 6 steps
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
EBK JAVA PROGRAMMING
Computer Science
ISBN:
9781337671385
Author:
FARRELL
Publisher:
CENGAGE LEARNING - CONSIGNMENT
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning
Programming Logic & Design Comprehensive
Computer Science
ISBN:
9781337669405
Author:
FARRELL
Publisher:
Cengage
EBK JAVA PROGRAMMING
Computer Science
ISBN:
9781337671385
Author:
FARRELL
Publisher:
CENGAGE LEARNING - CONSIGNMENT
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning
Programming Logic & Design Comprehensive
Computer Science
ISBN:
9781337669405
Author:
FARRELL
Publisher:
Cengage
Microsoft Visual C#
Computer Science
ISBN:
9781337102100
Author:
Joyce, Farrell.
Publisher:
Cengage Learning,