1、接口
API应用程序接口 Application Programming Interface
一种规范,功能
组成:属性,方法,事件,索引
关键字:interface
命名规范:以I开头,able结尾
(1)接口默认声明为public
(2)类的默认声明是private
(3)接口中不能有访问修饰符,默认public,不能包含abstract
(4)接口中不能有字段,属性经常被写作自动属性set,get
(5)接口方法不能包含方法体
(6)接口成员实现过程必须在实现接口的类中完成
(7)接口不能包含常数,字段,运算符,实例构造函数,析构函数或类型,静态成员
2、开放封闭原则
软件实体应该可以扩展,不可以修改
扩展是开放的,修改是封闭的
3、接口的继承
关闭覆盖成员警告,new
类的继承具有单根性,接口可以多重继承
继承用冒号隔开,逗号分隔多个父接口
父接口也称为该接口的显示基接口
同一接口中成员名不能重名,即使类型不同
4、显示实现接口
接口名称.接口方法
只能通过接口来调用,不能通过具体类调用
5、隐式实现接口
(1)接口调用方法
(2)具体的类调用方法
6、抽象类和抽象方法
抽象方法必须在抽象类中声明
不能使用static,private,virtual
重写方法是使用override
抽象类与抽象方法声明中,必须包含abstract,并且抽象方法不能有方法体
抽象类的声明就是为了实现派生类或者继承,不能标记为sealed
抽象类不能实例化,必须通过继承由派生类实现抽象方法
抽象类中可以包含非抽象方法
如果派生类没有实现所有的抽象方法,那么该派生类也必须声明为抽象类
如果一个非抽象类从抽象类中派生,则必须通过重载,实现所有继承而来的抽象成员
abstract,没有自己的实现
virtual,有自己的实现
共同点:都可以用override实现对原来的方法重写
7、密封类与密封方法
sealed不能被继承
密封类不能包含virtual 方法和abstract方法
密封类不能被继承,不能重写密封方法
密封方法必须通过重写基类中的虚方法实现
如果实例方法声明包含sealed,则也必须包含override