There are common attributes and methods between kids and trainers. What is the best choice for designing and writing the codes of these two classes? Explain your answer Kid.java public class Kid {    private static int idStatic=0; private int id; private String name; private int age; private char gender;    public Kid(String name, int age, char gender) { super(); this.id = idStatic++; this.name = name; this.age = age; this.gender = gender; } public static int getIdStatic() { return idStatic; } public int getId() { return id; } public String getName() { return name; } public int getAge() { return age; } public char getGender() { return gender; } @Override public String toString() { return "Kid [id=" + id + ", name=" + name + ", age=" + age + ", gender=" + gender + "]"; } } Trainer.java public class Trainer { private static int idStatic = 0; private int id; private String name; private int age; private char gender; private double salary; public Trainer(String name, int age, char gender, double salary) { super(); this.id = idStatic++; ; this.name = name; this.age = age; this.gender = gender; this.salary = salary; } public static int getIdStatic() { return idStatic; } public int getId() { return id; } public String getName() { return name; } public int getAge() { return age; } public char getGender() { return gender; } public double getSalary() { return salary; } @Override public String toString() { return "Trainer [id=" + id + ", name=" + name + ", age=" + age + ", gender=" + gender + ", salary=" + salary + "]"; } } Group.java import java.util.ArrayList; public class Group { private static int staticNumber = 0; private int groupNumber; private Trainer trainer; private String sportName; private ArrayList kids; private final static int MAX_LIMIT = 10; public Group(Trainer t, String sport) { groupNumber = staticNumber++; this.trainer = t; this.sportName = sport; kids = new ArrayList<>(); } public static int getStaticNumber() { return staticNumber; } public int getGroupNumber() { return groupNumber; } public Trainer getTrainer() { return trainer; } public String getSportName() { return sportName; } public ArrayList getKids() { return kids; } public boolean addKid(Kid k) { if (kids.size() < MAX_LIMIT) { kids.add(k); return true; } else { return false; } } public boolean removeKid(Kid k) { return kids.remove(k); } }

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

There are common attributes and methods between kids and trainers. What is the best choice for designing and writing the codes of these two classes? Explain your answer

Kid.java


public class Kid {
  
private static int idStatic=0;
private int id;
private String name;
private int age;
private char gender;
  
public Kid(String name, int age, char gender) {
super();
this.id = idStatic++;
this.name = name;
this.age = age;
this.gender = gender;
}

public static int getIdStatic() {
return idStatic;
}

public int getId() {
return id;
}

public String getName() {
return name;
}

public int getAge() {
return age;
}

public char getGender() {
return gender;
}

@Override
public String toString() {
return "Kid [id=" + id + ", name=" + name + ", age=" + age + ", gender=" + gender + "]";
}
}
Trainer.java


public class Trainer {
private static int idStatic = 0;
private int id;
private String name;
private int age;
private char gender;
private double salary;

public Trainer(String name, int age, char gender, double salary) {
super();
this.id = idStatic++;
;
this.name = name;
this.age = age;
this.gender = gender;
this.salary = salary;
}

public static int getIdStatic() {
return idStatic;
}

public int getId() {
return id;
}

public String getName() {
return name;
}

public int getAge() {
return age;
}

public char getGender() {
return gender;
}

public double getSalary() {
return salary;
}

@Override
public String toString() {
return "Trainer [id=" + id + ", name=" + name + ", age=" + age + ", gender=" + gender + ", salary=" + salary
+ "]";
}
}
Group.java

import java.util.ArrayList;

public class Group {

private static int staticNumber = 0;
private int groupNumber;
private Trainer trainer;
private String sportName;
private ArrayList<Kid> kids;
private final static int MAX_LIMIT = 10;

public Group(Trainer t, String sport) {
groupNumber = staticNumber++;
this.trainer = t;
this.sportName = sport;
kids = new ArrayList<>();
}

public static int getStaticNumber() {
return staticNumber;
}

public int getGroupNumber() {
return groupNumber;
}

public Trainer getTrainer() {
return trainer;
}

public String getSportName() {
return sportName;
}

public ArrayList<Kid> getKids() {
return kids;
}

public boolean addKid(Kid k) {
if (kids.size() < MAX_LIMIT) {
kids.add(k);
return true;
} else {
return false;
}
}

public boolean removeKid(Kid k) {
return kids.remove(k);
}

}

 

Expert Solution
steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
void method
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
  • SEE MORE 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