关于#person#的问题,如何解决?(标签-java|关键词-成员变量)

设计一个person类
(1)包括姓名、年龄、体重、生命力4个成员变量
(2)年龄、体重设置为私有的
(3)设置相应的方法读取和设置私有成员变量
(4)设置至少两个构造方法
(5)设置一个方法能够说:“你好”
(6)设置一个方法能够说:“谢谢”
设计一个student
(1)从person类派生
(2)包括有java、图像、图形等课程的成绩。
(3)包含一个学习方法。该方法每调用一次,可以增加某个课程的成绩
(4)包含一个方法,可以对某个teacher的上课成绩打分
设计一个teacher类
(1)从person类派生
(2)包括有“上课成绩”这样的成员变量。
(3)包含有一个方法,可以给同学的任何成绩打分。
设计一个主类
(1)主类中调用teacher和student类的对象
(2)一个teacher对象给多个(比如20个)学生对象打分。


// Person 
public class Person {

    public String name;
    /**
     * 年龄和体重是私有
     */
    private int age;
    private double weight;
    public String life;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public double getWeight() {
        return weight;
    }

    public void setWeight(double weight) {
        this.weight = weight;
    }

    public String getLife() {
        return life;
    }

    public void setLife(String life) {
        this.life = life;
    }

    /**
     * 两个构造
     *
     * @param name
     * @param age
     * @param weight
     * @param life
     */
    public Person(String name, int age, double weight, String life) {
        this.name = name;
        this.age = age;
        this.weight = weight;
        this.life = life;
    }

    public Person() {
    }

    /**
     * 两个方法
     *
     * @return
     */
    public String sayHello() {
        return "Hello!";
    }

    public String sayThanks() {
        return "Thanks";
    }

}



/////////////////////////////////////////////////////////////////////////

public class Student extends Person {


    /**
     * java成绩、图像成绩、图形成绩
     */
    public int javaScore;
    public int imageScore;
    public int figureScore;

    public void learnJavaAndAddScore(int score) {
        javaScore += score;
    }

    public void learnImageAndAddScore(int score) {
        imageScore += score;
    }

    public void learnFigureAndAddScore(int score) {
        figureScore += score;
    }

    public Student() {
    }

    public void setJavaScore(int javaScore) {
        this.javaScore = javaScore;
    }

    public void setImageScore(int imageScore) {
        this.imageScore = imageScore;
    }

    public void setFigureScore(int figureScore) {
        this.figureScore = figureScore;
    }
}


/////////////////////////////////////////////////////////



public class Teacher extends Person {

    private int classPerformance;

    public void setScore(Student student, int javaScore, int imageScore, int figureScore) {
        student.javaScore = javaScore;
        student.imageScore = imageScore;
        student.figureScore = figureScore;
    }
}




///////////////////////////////////////////////////////////////

public class Test {
    public static void main(String[] args) {
        Student student = new Student();
        Teacher teacher = new Teacher();
        student.setJavaScore(88);
        student.setImageScore(75);
        student.setFigureScore(90);
        teacher.setScore(student, 10, 20, 30);
    }
}

Person类:

class Person {

    private String name;
    public int age;
    private double weight;
    public String vitality;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
   
    public double getWeight() {
        return weight;
    }
    
    public void setWeight(double weight) {
        this.weight = weight;
    }
 
    public String sayHello() {
         return "Hello!";
    }

    public String sayThanks() {
        return "Thanks";
    }
    
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public Person(String name,
               int age, 
              double weight, 
              String vitality) {
        this.name = name;
        this.age = age;
        this.weight = weight;
        this.vitality = vitality;
    }
}

Student类:

class Student extends Person {

    public int javaScore;
    public int imageScore;
    public int figureScore;
    
    public void learnJava() {
        javaScore += 5;
    }
    
    public void learnImage() {
        image score += 5;
    }
    
    public void learnFigure() {
        figureScore += 5;
    }
}

Teacher类:

class Teacher extends Person {

    private int classPerformance;  

    public void setScore(Student student, 
                          int javaScore, 
                          int imageScore, 
                          int figureScore) {
        student.javaScore = javaScore;
        student.imageScore = imageScore;
        student.figureScore = figureScore;       
    }
}

Main主类:

public class Main {

    public static void main(String[] args) {
        Teacher teacher = new Teacher();
        Student student = new Student();
        //打分太多,仅做实例
        teacher.setScore(student, 90, 95, 85);
    }
}

Student类和Teacher类不需要构造方法吗
望题主采纳

建议自己先实现一版,然后再将不理解的地方拿来讨论,会更好。