首页 > 代码库 > 12-14面向对象--抽象基类、接口、委托

12-14面向对象--抽象基类、接口、委托

一、抽象类与抽象方法

1、在一个类前面加上abstract关键字,此类就成为了抽象类。

1)当一个类变成抽象类时,就不能作为一个对象使用了,也就是说不能创建新对象,不能new初始化。

2)抽象方法只是一个方法,不能写方法

3)当一个类继承的是抽象类时,必须要把抽象类的抽象方法重写(override)才可以实现方法。

4)抽象方法必须放在抽象类里面才能使用,抽象方法是在抽象子类中实现的,也就是说抽象子类实现抽象父类所有的抽象方法。

5)有抽象方法的一定是抽象类;有抽象类但不一定有抽象方法。

6)必须通过抽象子类点出父类的抽象方法,才能输出方法的值;

结论:抽象类只能作为父类使用。

2、抽象方法

【注意事项】抽象方法不能有实现方法,在函数名后直接跟一个分号;要想实现抽象方法,必须有抽象子类才能实现方法。

在抽象类(父类)中定义方法:

在抽象子类中实现:

3、抽象属性(封装)

二、接口

定义:关键字interface用于定义接口。

【注意事项】

1、一个子类可以继承多个接口,解决了一个子类只能继承一个父类的属性和方法。

2、在接口里,如果子类继承了方法,就必须实现这个方法。

在接口里面,既不能定义属性、方法,也不能定义字段。

三、委托(delegate

理解:委托可以看成是一个函数的容器,可以引用任何一个满足其要求的函数。

举例:委托就相当于螺丝刀的“底座”,要使用什么样的螺丝刀样式(平口的、梅花口的、十字型的)是事先规定好,只要符合条件就会被放在底座上。

定义:委托可以看做是一种数据类型,可以用于定义变量,但他是一种特殊的数据类型,它所定义的变量能接收的数值只能是一个函数。

如何使用使用方法:

 

12-14面向对象--抽象基类、接口、委托