下面通过几个简短的程序要求对于继承的概念进行巩固,对于程序开发而言,简单Java类是其最基础的组成,也是虽有概念最好的融合。
案例分析一:学生类
建立一个人类(Person)和学生类(Student),功能要求如下:
(1)Person中包含4哥私有型的数据成员name、addr、sex、age,分别为字符串型、字符串型、字符型及整型,表示姓名、地址、性别和年龄。一个4参构造方法、一个两参构造方法、一个无参构造方法、一个输出方法显示4种属性。
(2)Student类继承Person类,并增加成员math、englishi存放数学和英语成绩。一个6参构造方法、一个两参构造方法、一个无参构造方法和重写输出方法用于显示6种属性。
正常来讲进行一个程序类开发的时候是不需要考虑子类的问题的,也就是是你现在需要做的只是进行程序功能的完善定义,所以首先来定义的就是Person类
class Person {
private String name ;
private String addr ;
private char sex ;
private int age ;
public Person(){}
public Person(String name, String addr){
this(name,addr,'男',0) ;
}
public Person(String name, String addr, char sex, int age){
this.name = name ;
this.addr = addr ;
this.sex = sex ;
this.age = age ;
}
public String getInfo(){
return "姓名:" + this.name + "、地址:" + this.addr + "、性别:" + this.sex + "、年龄:" + this.age ;
}
}
class Student extends Person {
private double math ;
private double english ;
public Student(){}
public Student(String name, String addr){
super(name, addr) ;
}
public Student(String name, String addr, char sex, int age, double math, double english){
super(name, addr, sex, age) ;
this.math = math ;
this.english = english ;
}
public String getInfo(){
return super.getInfo() + "、数学成绩:" + this.math + "、英语成绩:" + this.english ;
}
}
public class StringDemo {
public static void main(String args[]){
Student stu = new Student("张三", "天安门", '男', 12, 78.99, 89.98) ;
System.out.println(stu.getInfo()) ;
}
}
在这样的操作案例里面发现子类对象实例化、构造方法调用、方法覆写。
案例分析二:管理人员与职员
定义员工类,具有姓名、年龄、性别属性,并具有构造方法和显示数据方法。定义管理层类,继承员工类,并有自己的属性职务和年薪。定义职员类,继承员工类,并有自己的属性所属部门和月薪。
class Employee {
private String name ;
private int age ;
private String sex ;
public Employee(){}
p