1. 程式人生 > 實用技巧 >JAVA——完成下面父類及子類的宣告。(1)宣告Student類(2)宣告StudentXW類為Student的子類(3)宣告StudentBZ類為Student的子類

JAVA——完成下面父類及子類的宣告。(1)宣告Student類(2)宣告StudentXW類為Student的子類(3)宣告StudentBZ類為Student的子類

(1)宣告Student類

屬性包括:學號,姓名,英語成績,數學成績,計算機成績,總成績

包括構造方法,get方法,set方法,toString方法,equal方法,compare方法,sum方法,testscore方法

public class Student {
    public int number;
    public double Egrade,Mgrade,Cgrade,Sumgrade,equalgrade,testscore;
    public String name;
    public Student() {
        
    }
    public
void Student(int number,String name,double Egrade,double Mgrade,double Cgrade) {//構造方法 this.number=number; this.name=name; this.Egrade=Egrade; this.Cgrade=Cgrade; this.Mgrade=Mgrade; } public int getnumber() {//get方法 return number; } public
String getname() { return name; } public double getEgrade() { return Egrade; } public double getMgrade() { return Mgrade; } public double getCgrade() { return Cgrade; } public double getSumgrade() { return Sumgrade; } public
double getequalgrade() { return equalgrade; } public void setnumber(int number) {//set方法 this.number=number; } public void setname(String name) { this.name=name; } public void setEgrade(double Egrade) { this.Egrade=Egrade; } public void setMgrade(double Mgrade) { this.Mgrade=Mgrade; } public void setCgrade(double Cgrade) { this.Cgrade=Cgrade; } public void setSumgrade(double Sumgrade) { this.Sumgrade=Sumgrade; } public void setequalgrade(double equalgrade) { this.equalgrade=equalgrade; } public void Sum() {//sum方法 Sumgrade=Egrade+Mgrade+Cgrade; } public void equal() {//equal方法 equalgrade=Sumgrade/3; } public void Compare(Student p) {//compare方法 if(this.Sumgrade>p.Sumgrade) { System.out.println(this.name+"同學成績高"); } else if(this.Sumgrade==p.Sumgrade) { System.out.println("兩位同學成績相同"); } else System.out.println(p.name+"同學成績高"); } public void testScore() { testscore=Sumgrade/3; } public String toString() {//toString方法 return "Student [number=" + number + ", Egrade=" + Egrade + ", Mgrade=" + Mgrade + ", Cgrade=" + Cgrade + ", Sumgrade=" + Sumgrade + ", equalgrade=" + equalgrade + ", name=" + name + "]"; } }

此時的主函式呼叫為:

public class studentmain {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Student c1=new Student();
        Student c2=new Student();
        c1.setnumber(2019110105);
        c1.setname("chen");
        c1.setEgrade(87);
        c1.setMgrade(78);
        c1.setCgrade(84);
        c1.Sum();
        c1.equal();
        System.out.println("總成績為:"+c1.getSumgrade());
        System.out.println("平均成績為:"+c1.getequalgrade());
        System.out.println(c1.toString());
        c2.Student(2019110104, "fang", 70, 78, 94);
        c2.Sum();
        c2.equal();
        System.out.println(c2.toString());
        c1.Compare(c2);
    }

}

呼叫的結果為:

(2)宣告StudentXW類為Student的子類

新增一個屬性“zeren”,並且重寫testscore方法,使它等於三科的平均值加5

public class StudentXW extends Student{
    public String zeren;
    public void getzeren(String zeren) {
        this.zeren=zeren;
    }
    public String setzeren() {
        return zeren;
    }
    public void testScore() {
        testscore=Sumgrade/3+5;
    }

    public String toString() {
        return "StudentXW [name=" + name + ", number=" + number + ", Egrade=" + Egrade + ", Mgrade=" + Mgrade
                + ", Cgrade=" + Cgrade + ", Sumgrade=" + Sumgrade + ", equalgrade=" + equalgrade + ", testscore="
                + testscore + ", zeren=" + zeren + "]";
    }
    
}

(3)宣告StudentBZ類為Student的子類

跟上面Student相似,就是評測成績改變了而已

public class StudentBZ extends Student{
    public String zeren;
    public void getzeren(String zeren) {
        this.zeren=zeren;
    }
    public String setzeren() {
        return zeren;
    }
    public void testScore() {
        testscore=Sumgrade/3+5;
    }

    public String toString() {
        return "StudentXW [name=" + name + ", number=" + number + ", Egrade=" + Egrade + ", Mgrade=" + Mgrade
                + ", Cgrade=" + Cgrade + ", Sumgrade=" + Sumgrade + ", equalgrade=" + equalgrade + ", testscore="
                + testscore + ", zeren=" + zeren + "]";
    }
}

(4)測評程式碼為:

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Student c1=new Student();
        Student c2=new Student();
        c1.setnumber(2019110105);
        c1.setname("chen");
        c1.setEgrade(87);
        c1.setMgrade(78);
        c1.setCgrade(84);
        c1.Sum();
        c1.equal();
        System.out.println("總成績為:"+c1.getSumgrade());
        System.out.println("平均成績為:"+c1.getequalgrade());
        System.out.println(c1.toString());
        c2.Student(2019110104, "fang", 70, 78, 94);
        c2.Sum();
        c2.equal();
        System.out.println(c2.toString());
        c1.Compare(c2);
        StudentXW c3=new StudentXW();
        c3.Student(2019110106, "xi", 60, 78, 88);
        c3.getzeren("xuewei");
        c3.Sum();
        c3.testScore();
        System.out.println(c3.toString());
        StudentBZ c4=new StudentBZ();
        c4.Student(2019110109, "jin", 62, 78, 94);
        c4.getzeren("banzhang");
        c4.Sum();
        c4.equal();
        c4.testScore();
        System.out.println(c4.toString());
    }

(5)實驗結果為: