20. Imagine that you are going to write a program to play card games. Consider a design with a Card class and 52 sub- classes, one for each of the unique playing cards (for example, NineOf Spades and JackOfClubs). Is this a good design? If so, why? If not, why not, and what might be a better design?

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question
Number 20
18. What is the difference between an is-a and a has-a relationship? How do you create a has-a relationship in your code?
19. Imagine a Rectangle class with objects that represent two-dimensional rectangles. The Rectangle has width and
height fields with appropriate accessors and mutators, as well as getArea and getPerimeter methods.
You would like to add a Square class into your system. Is it a good design to make Square a subclass of
Rectangle? Why or why not?
20. Imagine that you are going to write a program to play card games. Consider a design with a Card class and 52 sub-
classes, one for each of the unique playing cards (for example, NineOf Spades and JackOfClubs). Is this a good
design? If so, why? If not, why not, and what might be a better design?
21. In Section 9.2 we discussed adding functionality for dividend payments to the Stock class. Why was it preferable to
create a DividendStock class rather than editing the Stock class and adding this feature directly to it?
Section 9.5: Interfaces
22. What is the difference between implementing an interface and extending a class?
23. Consider the following interface and class:
}
public interface I {
public void m1();
public void m2();
}
public class C implements I {
// code for class C
What must be true about the code for class C in order for that code to compile successfully?
Transcribed Image Text:18. What is the difference between an is-a and a has-a relationship? How do you create a has-a relationship in your code? 19. Imagine a Rectangle class with objects that represent two-dimensional rectangles. The Rectangle has width and height fields with appropriate accessors and mutators, as well as getArea and getPerimeter methods. You would like to add a Square class into your system. Is it a good design to make Square a subclass of Rectangle? Why or why not? 20. Imagine that you are going to write a program to play card games. Consider a design with a Card class and 52 sub- classes, one for each of the unique playing cards (for example, NineOf Spades and JackOfClubs). Is this a good design? If so, why? If not, why not, and what might be a better design? 21. In Section 9.2 we discussed adding functionality for dividend payments to the Stock class. Why was it preferable to create a DividendStock class rather than editing the Stock class and adding this feature directly to it? Section 9.5: Interfaces 22. What is the difference between implementing an interface and extending a class? 23. Consider the following interface and class: } public interface I { public void m1(); public void m2(); } public class C implements I { // code for class C What must be true about the code for class C in order for that code to compile successfully?
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY