Analysis: Q1: 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. Q2: Draw a simple class diagram showing only relationships between the classes. 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 + } } Trainer.java age=" + age + ", gender=" + gender + "]"; 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; } @0verride 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); } }

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

Answer These 2 question Acrroding To this Code?
Q1: 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.

Q2: Draw a simple class diagram showing only relationships between the classes.

-------------------------------//The Code is the text or the image

Step 1

CODE:

    Kid.java

Step 2

 

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);
    }

}






Analysis:
Q1: 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.
Q2: Draw a simple class diagram showing only relationships between the classes.
Transcribed Image Text:Analysis: Q1: 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. Q2: Draw a simple class diagram showing only relationships between the classes.
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 +
}
}
Trainer.java
age=" + age +
", gender=" + gender + "]";
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;
}
@0verride
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);
}
}
Transcribed Image Text: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 + } } Trainer.java age=" + age + ", gender=" + gender + "]"; 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; } @0verride 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
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps with 1 images

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