1、抽象类
为什么要使用抽象类?
1、当父类的方法功能,无法具体实现的时候,可以使用抽象类
2、计算器类(父类)里面有加减乘除四个功能都实现了,但是很子类继承后,有些方法都自己重写了,这个时候父类里面的这些方法功能就没有意义了。所以有些方法不需要都实现了,只需要声明即可(抽象方法)
抽象类:类是一个具有相同特征和行为的抽象,而抽象类(class 前加上 abstract)没有指出行为的具体细节,而由他的子类去实现相应的行为
抽象类的特征
1、不能创建一个抽象类的实例
2、通过在类定义前面放置关键字 sealed,可以将类声明为密封类。当一个类被声明为 sealed 时,它不能被继承。抽象类不能被声明为 sealed
抽象类方法特征
1、抽象方法没有方法体
2、抽象方法必须在抽象类里
3、抽象方法必须在子类中被实现,除非子类是抽象类
2、接口
为什么要用接口?
接口表现:
能力、规范
有能力的时候才能去做这件事情
只有符合我的规范的时候才能去做这件事情
特征:
1、接口不能被实例化
2、接口中的方法都没有方法体
3、系统默认方法是public abstract
4、没有方法体的方法需要类去实现
5、接口中可以有属性、常量、索引器、不能有字段
3、集合
为什么要用集合?
集合可以像一个容器,可以用于存储多个数量不等的对象、存储多个不同的、量很大的时候用
C#能否支持多继承?
支持,类的单继承,接口是可以多继承
泛型
泛型是程序设计语言的一种特性,允许程序员在强类型程序设计语言中编写代码时定义一些可变部分,那些部分在使用前必须作出指明