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 }
初学小白,请多指教!