• 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() + "	班级:" + this.getClassName() );
    51     }
    52     
    53 }
  • 相关阅读:
    java简单实现MD5加密
    Java用freemarker导出Word 文档
    java 反射(*)
    java解析XML
    JDBC程序实例
    web前端开发-博客目录
    虚拟主机配置
    WAMP运行原理
    WAMP配置
    web前端性能优化总结
  • 原文地址:https://www.cnblogs.com/caizhen/p/7684349.html
Copyright © 2020-2023  润新知