Consider the PlayingCard, Rank and Suit classes. a)Which two classes are instance variables in the third class? b)Are instance variables an is-a or has-a relationship?
Consider the PlayingCard, Rank and Suit classes. a)Which two classes are instance variables in the third class? b)Are instance variables an is-a or has-a relationship?
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
Concept explainers
OOPs
In today's technology-driven world, computer programming skills are in high demand. The object-oriented programming (OOP) approach is very much useful while designing and maintaining software programs. Object-oriented programming (OOP) is a basic programming paradigm that almost every developer has used at some stage in their career.
Constructor
The easiest way to think of a constructor in object-oriented programming (OOP) languages is:
Question
- Consider the PlayingCard, Rank and Suit classes.
a)Which two classes are instance variables in the third class?
b)Are instance variables an is-a or has-a relationship?

Transcribed Image Text:### "Is-a" versus "Has-a"
A large program will often be built out of multiple classes. Often, these classes will have a “has a” relationship. For example, a game program might include three classes: PlayingCard, Suit, and Rank. A PlayingCard object **has a** Suit and **has a** Rank, which are handled in a Java program as instance variables.
#### Class Diagram: PlayingCard
The diagram below illustrates the structure of a `PlayingCard` class in Java, highlighting its data fields and methods:
| PlayingCard |
|-----------------------|
| - cardRank: Rank |
| - cardSuit: Suit |
| + setRank(Rank rank): void |
| + setSuit(Suit suit): void |
| + getRank(): Rank |
| + getSuit(): Suit |
- **Class Name:** PlayingCard
- **Data Fields:**
- `- cardRank: Rank` (Private field storing the rank of the card)
- `- cardSuit: Suit` (Private field storing the suit of the card)
- **Methods:**
- `+ setRank(Rank rank): void` (Public method to set the rank of the card)
- `+ setSuit(Suit suit): void` (Public method to set the suit of the card)
- `+ getRank(): Rank` (Public method to get the rank of the card)
- `+ getSuit(): Suit` (Public method to get the suit of the card)
Less often, you might have two classes which have an “is a” relationship, where one class is a more general class, while the second class is a more specialized version of the original class. A blackjack program might have a `BlackJackCard` class which **is a** PlayingCard. Notice the relationship is not symmetrical: every `BlackJackCard` **is a** PlayingCard, but not every PlayingCard **is a** `BlackJackCard`.
Expert Solution

This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
This is a popular solution!
Trending now
This is a popular solution!
Step by step
Solved in 2 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

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