background image

什么是继承

    “继承”是面向对象软件技术当中的一个概念,例如在 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 可以完全不用管实现的细节,只访问我们定义的方法,就可以