1、完成下面父类及子类的声明:
(1)声明Student类。
属性包括学号、姓名、英语成绩、计算机成绩和总成绩。
方法包括构造方法、get方法、set方法、toString方法、equals方法、compare方法(比较两个学生的总成绩,结果分大于、小于、等于)、sum方法(计算总成绩)和testScore方法(计算评测成绩)。
注:评测成绩可以取三门课成绩的平均分,另外任何一门课的成绩的改变都需要对总成绩进行重新计算,因此,在每一个set方法中应调用sum方法计算总成绩。
(2)声明StudentXW(学习委员)类为Student类的子类。
在StudentXW类中增加责任属性,并重写testScore方法(计算评测成绩,评测成绩=三门课的平均分+3)。
(3)声明StudentBZ(班长)类为Student类的子类。
在StudentBZ类中增加责任属性,并重写testScore方法(计算评测成绩,评测成绩=三门课的平均分+5)。
(4)声明测试类,生成若干个Student类、StudentXW类及StudentBZ类对象,并分别计算它们的评测成绩。(测试类完成对多态性的测试)再声明Student类的数组(含五个元素),生成五个对象存入数组:其中三个Student类对象、一个StudentXW类的对象、一个StudentBZ类的对象,将方法testScore()发送给数组的每一个元素,输出结果,并分析具体执行的是哪一个类中的方法。请高手帮我编一下,不胜感激!!!

解决方案 »

  1.   

    package stu;public class Student {
    private int Number;
    private String name;
    private float EnglishScore;
    private float ITScore;
    private float totalScore;

    public Student(int Number,String name,float EnglishScore,float ITScore){
    this.Number = Number;
    this.name = name;
    this.EnglishScore = EnglishScore;
    this.ITScore = ITScore;
    totalScore = this.sum();
    }


    public float sum(){
    return this.getEnglishScore()+this.getITScore();
    }

    public float testScore(){
    return (this.getEnglishScore()+this.getITScore())/2;
    }

    public String compare(Student stu) {
    String str=null;
    if(this.totalScore>stu.getTotalScore()){
    str = "big";

    }else if(this.totalScore==stu.getTotalScore()){
    str ="equals";
    }else{
    str = "small";
    }

    return str;

    }


    @Override
    public boolean equals(Object obj) {
    // TODO Auto-generated method stub
    return super.equals(obj);
    }
    @Override
    public String toString() {
    // TODO Auto-generated method stub
    return super.toString();
    }
    public int getNumber() {
    return Number;
    }
    public void setNumber(int number) {
    Number = number;
    }
    public String getName() {
    return name;
    }
    public void setName(String name) {
    this.name = name;
    }
    public float getEnglishScore() {
    return EnglishScore;
    }
    public void setEnglishScore(float englishScore) {
    EnglishScore = englishScore;
    }
    public float getITScore() {
    return ITScore;
    }
    public void setITScore(float score) {
    ITScore = score;
    }
    public float getTotalScore() {
    return totalScore;
    }
    public void setTotalScore(float totalScore) {
    this.totalScore = totalScore;
    }}
      

  2.   

    package stu;public class StudentBZ extends Student{ public StudentBZ(int Number, String name, float EnglishScore, float ITScore) {
    super(Number, name, EnglishScore, ITScore);
    // TODO Auto-generated constructor stub
    } @Override
    public float testScore() {
    // TODO Auto-generated method stub
    return super.testScore()+5;
    }
    }
      

  3.   

    package stu;public class StudentXW extends Student{ public StudentXW(int Number, String name, float EnglishScore, float ITScore) {
    super(Number, name, EnglishScore, ITScore);

    } @Override
    public float testScore() {
    // TODO Auto-generated method stub
    return super.testScore()+3;
    }}