C#(19)接口 *

9yue1

接口(多态的一种)

一、接口的概念

当有共同特性但是其他内容差别很大,不能写成一个父类的情况,用接口来代替多继承,或用来模拟结构的继承

接口定义一组成员但不直接地实现它们


二、接口的定义   interface ...{ } 

C#(19)接口 *_第1张图片

接口还可以包含事件,索引器

        

      接口的使用:

C#(19)接口 *_第2张图片
C#(19)接口 *_第3张图片


课堂整理注意点:

(此处实现均指 { }实现了接口中的方法)

一、如果实现了接口,必须实现接口方法,类和结构体都能实现接口,其中结构体不能继承

二、关键字 interface(一般情况加一个 I 区分

三、接口相当于一种特殊的类,没有方法体(实现);

四、接口不能直接实例化,但是可以通过指向子类间接实例化(和抽象静态一样)


C#(19)接口 *_第4张图片
C#(19)接口 *_第5张图片

五、接口包含方法和属性,不能包含字段

六、接口中所有方法、属性默认为Public(不能写),不能在后面再添加修饰符

七、实现接口的类并不一定是子类

八、类可以继承基类并实现一个或多个接口,继承和接口可以同时写,先写继承后写接口

九、父类实现了接口,子类就不用再写接口



接口与抽象类

接口与抽象类非常相似,它定义了一些未实现的属性和方法。

所有实现了接口的类都要实现这些成员,在这个角度上,可以把接口理解为一个类的模板。接口最终的目的是起到统一的作用。

父类实现了接口,子类就不用再写接口

         

          相同

C#(19)接口 *_第6张图片

不同

C#(19)接口 *_第7张图片


思考:1、?抽象类能不能实现继承

2、接口能不能实现接口

你可能感兴趣的:(C#(19)接口 *)