C#编程-43:接口复习笔记

143 阅读2分钟

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

\