1) Create class Cat  Add properties  What characteristics do they have?  Name, age, color, type (domestic / feral), etc.  What color(s) might they have?  White, cream, fawn, Cinnamon, Chocolate, Red, Lilac, Blue, Black, Lavender, etc.  Add methods  eat(), play(), etc.  Constructors?  A class provides a special type of methods, known as constructors, which are invoked to construct objects from the class  Create 2 different constructor with different initialization parameters  How to get the number of cats? Add a static variable and a static method  Test Cat class by creating 2 Cat instances   2) create a class AbstractCat with the same properties and methods as Cat...  Create class AbstractCat.  How to secure data? To protect it from direct access and manipulation from outside of the class we need to make our instance data fields private.  To let clients still manipulate data under our control we can provide them public getters and setters.  create getters, setters, constructors and toString()  Test AbstractCat class

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) Create class Cat
 Add properties
 What characteristics do they have?
 Name, age, color, type (domestic / feral), etc.
 What color(s) might they have?
 White, cream, fawn, Cinnamon, Chocolate, Red, Lilac, Blue, Black,
Lavender, etc.
 Add methods
 eat(), play(), etc.
 Constructors?
 A class provides a special type of methods, known as constructors, which are
invoked to construct objects from the class
 Create 2 different constructor with different initialization parameters
 How to get the number of cats?
Add a static variable and a static method
 Test Cat class by creating 2 Cat instances

 
2) create a class AbstractCat with the same
properties and methods as Cat...
 Create class AbstractCat.
 How to secure data?
To protect it from direct access and manipulation from outside of the class
we need to make our instance data fields private.
 To let clients still manipulate data under our control we can provide them
public getters and setters.
 create getters, setters, constructors and toString()
 Test AbstractCat class

 
 
 


 
 
Expert Solution
Step 1: Creating class Cat
1public class Cat {
2    // Properties
3    private String name;
4    private int age;
5    private String color;
6    private String type;
7
8    // Constructors
9    public Cat(String name, int age, String color, String type) {
10        this.name = name;
11        this.age = age;
12        this.color = color;
13        this.type = type;
14    }
15
16    public Cat(String name, int age) {
17        this(name, age, "Unknown", "Unknown");
18    }
19
20    // Methods
21    public void eat() {
22        System.out.println(name + " is eating.");
23    }
24
25    public void play() {
26        System.out.println(name + " is playing.");
27    }
28
29    // Static variable to keep track of the number of cats
30    private static int numberOfCats = 0;
31
32    // Static method to get the number of cats
33    public static int getNumberOfCats() {
34        return numberOfCats;
35    }
36
37    // Increment the count when a new cat is created
38    {
39        numberOfCats++;
40    }
41
42    // Getter and Setter methods
43    public String getName() {
44        return name;
45    }
46
47    public void setName(String name) {
48        this.name = name;
49    }
50
51    public int getAge() {
52        return age;
53    }
54
55    public void setAge(int age) {
56        this.age = age;
57    }
58
59    public String getColor() {
60        return color;
61    }
62
63    public void setColor(String color) {
64        this.color = color;
65    }
66
67    public String getType() {
68        return type;
69    }
70
71    public void setType(String type) {
72        this.type = type;
73    }
74
75    // toString method for printing cat details
76    @Override
77    public String toString() {
78        return "Cat [name=" + name + ", age=" + age + ", color=" + color + ", type=" + type + "]";
79    }
80
81    public static void main(String[] args) {
82        // Test Cat class by creating two Cat instances
83        Cat cat1 = new Cat("Whiskers", 3, "White", "Domestic");
84        Cat cat2 = new Cat("Tiger", 2);
85
86        System.out.println(cat1);
87        System.out.println(cat2);
88
89        // Get the number of cats
90        System.out.println("Total number of cats: " + Cat.getNumberOfCats());
91    }
92}
steps

Step by step

Solved in 3 steps

Blurred answer
Knowledge Booster
Unreferenced Objects
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