Java實驗項目三——編程實現Person類,學生類的設計及其繼承關系


Program:

編程實現Person類,學生類的設計及其繼承關系

代碼如下:

 

定義抽象類Person

 

  1 /*
  2  * Description:建立抽象類
  3  * 
  4  * Written By:Cai
  5  * 
  6  * Date Written:2017-10-17
  7  * 
  8  * */
  9 
 10 
 11 package resource;
 12 
 13 public abstract class Person {
 14     
 15     private String name;          //姓名
 16     private int age;              //年齡
 17     private String sex;          //性別
 18     private String address;       //地址
 19     private String telephone;     //電話
 20     
 21     //定義構造方法
 22     
 23     public Person() {}
 24 
 25     public Person(String name, int age, String sex, String address,
 26             String telephone) {
 27         
 28         this.name = name;
 29         this.age = age;
 30         this.sex = sex;
 31         this.address = address;
 32         this.telephone = telephone;
 33     }
 34 
 35     //定義setter()和getter()方法
 36     
 37     public String getName() {
 38         return name;
 39     }
 40 
 41     public void setName(String name) {
 42         this.name = name;
 43     }
 44 
 45     public int getAge() {
 46         return age;
 47     }
 48 
 49     public void setAge(int age) {
 50         this.age = age;
 51     }
 52 
 53     public String getSex() {
 54         return sex;
 55     }
 56 
 57     public void setSex(String sex) {
 58         this.sex = sex;
 59     }
 60 
 61     public String getAddress() {
 62         return address;
 63     }
 64 
 65     public void setAddress(String address) {
 66         this.address = address;
 67     }
 68 
 69     public String getTelephone() {
 70         return telephone;
 71     }
 72 
 73     public void setTelephone(String telephone) {
 74         this.telephone = telephone;
 75     }
 76 
 77     //覆寫toString()方法
 78     @Override
 79     public String toString() {
 80         return "Person [name=" + name + ", age=" + age + ", sex=" + sex
 81                 + ", address=" + address + ", telephone=" + telephone + "]";
 82     }
 83     
 84     //使用模板模式,定義好簡單模板,打印信息
 85     /*
 86      * 模板模式為面向對象設計模式之一,其大概思想(個人理解):
 87      * 在抽象方法中完成已經確定的內容,而不確定的部分,寫成抽象方法並調用
 88      * 而抽象方法的具體實現,交給繼承他的類去具體實現,
 89      * 這樣開發人員只要寫好自己的實現部分便可,然后在主方法中,
 90      * 通過實例化后的抽象類直接調用模板方法便可
 91      * 
 92      * 以下方法只是一個簡單的表示
 93      *  
 94      * */
 95     public void display() {
 96         
 97         System.out.println( this );                //公共部分
 98         System.out.println("-------------------風騷java分割線-----------------");
 99         getInfo();                          //開發人員具體的實現
100         System.out.println("-------------------風騷java分割線-----------------");
101         System.out.println( "本輸出方法采用模板設計模式,以上為學生信息!" );    //公共部分
102     
103     }
104     
105     //聲明抽象方法,打印子類的添加信息
106     public abstract void getInfo();
107 
108 
109 }

 

 

定義Student類,繼承抽象類

 

 1 /*
 2  * Description:定義學生類,繼承Person方法
 3  * 
 4  * Written By:Cai
 5  * 
 6  * Date Written:2017-10-17
 7  * 
 8  * */
 9 
10 
11 package resource;
12 
13 public class Student extends Person {
14     
15     private String sno;            //學號
16     private String className;     //班級
17     
18     //定義構造方法
19     public Student(String name, int age, String sex, String address,
20             String telephone,String sno,String className) {
21         
22         super(name,age,sex,address,telephone);
23         this.sno = sno;
24         this.className = className;
25     }
26     
27 
28     //定義setter()和getter()方法
29     public String getSno() {
30         return sno;
31     }
32 
33     public void setSno(String sno) {
34         this.sno = sno;
35     }
36 
37     public String getClassName() {
38         return className;
39     }
40 
41     public void setClassName(String className) {
42         this.className = className;
43     }
44 
45 
46     //實現父類抽象方法
47     @Override
48     public void getInfo() {
49         
50         System.out.println( "學號:" + this.getSno() + "\t班級:" + this.getClassName() );
51     }
52     
53 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM