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
icon
Related questions
Question
  1. 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?

### "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`.
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
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Class
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
Recommended textbooks for you
Database System Concepts
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)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education