JAVA——完成下面父類及子類的宣告。(1)宣告Student類(2)宣告StudentXW類為Student的子類(3)宣告StudentBZ類為Student的子類
阿新 • • 發佈:2020-10-25
(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() { } publicvoid 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; } publicString getname() { return name; } public double getEgrade() { return Egrade; } public double getMgrade() { return Mgrade; } public double getCgrade() { return Cgrade; } public double getSumgrade() { return Sumgrade; } publicdouble 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)實驗結果為: