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
\