什么是继承
“继承”是面向对象软件技术当中的一个概念,例如在 java 语言中,java 语言中不支
持多重继承,是通过接口实现多重继承的功能。如果一个类
A 继承自另一个类 B,就把
这个
A 称为"B 的子类",而把 B 称为"A 的父类"。继承可以使得子类具有父类的各种属
性和方法,而不需要再次编写相同的代码。在令子类继承父类的同时,可以重新定义某
些属性,并重写某些方法,即覆盖父类的原有属性和方法,使其获得与父类不同的功
能。
继承是指一个对象直接使用另一对象的属性和方法。事实上,我们遇到的很多实体
都有继承的含义。例如,若把汽车看成一个实体,它可以分成多个子实体,如:卡车、
公共汽车等。这些子实体都具有汽车的特性,因此,汽车是它们的
"父亲",而这些子实
体则是汽车的
"孩子"。
同类事物具有共同性,在同类事物中,每个事物又具有其特殊性。运用抽象的原则
舍弃对象的特殊性,抽取其共同性,则得到一个适应于一批对象的类,这便是基类
(父类)
,而把具有特殊性的类称为派生类(子类),派生类的对象拥有其基类的全部
或部分属性与方法,称作派生类对基类的继承。
什么是多态
多态,是面向对象的程序设计语言最核心的特征。多态,意味着一个对象有着多重
特征,可以在特定的情况下,表现不同的状态,从而对应着不同的属性和方法。从程序
设计的角度而言,多态可以这样来实现(以
java 语言为例):
public interface Parent(){
public void simpleCall();
}
public class Child_A implements Parent{
public void simpleCall(){
//具体的实现细节;
}
}
public class Child_B implements Parent{
public void simpleCall(){
//具体的实现细节;
}
}
//当然还可以有其他的实现
然后,我们就可以看到多态所展示的特性了:
Parent pa = new Child_A();
pa.simpleCall()则显然是调用 Child_A 的方法;
Parent pa = new Child_B();
pa.simpleCall()则是在调用 Child_B 的方法。所以,我们对于抽象的父类或者接口给出了
我们的具体实现后,
pa 可以完全不用管实现的细节,只访问我们定义的方法,就可以