面向对象的第二大特点就是继承:而继承的主要作用在于,在已有的基础上继续进行功能的扩充。
如果要更好的解释集成的作用,下面按照之前所学习到的概念来定义两个类:人、学生类。
Person类
class Person{
private String name;
private int age;
public void setName(String name) {
this.name=name;
}
public void setAge(int age) {
this.age=age;
}
public String getName() {
return this.name;
}
public int getAge() {
return this.age;
}
}
Student类
class Student{
private String name;
private int age;
private String school;
public void setName(String name) {
this.name=name;
}
public void setAge(int age) {
this.age=age;
}
public String getName() {
return this.name;
}
public int getAge() {
return this.age;
}
public void setSchool(String school) {
this.school=school;
}
public String getSchool() {
return this.school;
}
}
两个类几乎为重复语句
以上的程序开发的模式就是我们之前所采用的模式,单独的简单java类,那么通过不断的编写就会发现程序之中会出现重复的代码。
从代码上虽然重复了,但是现在又可以发现从概念上讲,一个学生一定是人,但是学生和人相比学生更加具体。学生肯定描述的范围更小具备的属性更多,方法也会更多,所以学生应该是一个人的扩充。
|-这个时候要想消除结构定义上的重复,就必须用继承来完成。