2025/6/28
2025/6/28
接口
也是一种类,只包含没有实现的方法,没有数据成员
不能有构造函数,没有字段,无法进行运算符重载
接口的所有方法都是pubilc
interface 建议取名前面加I,例如IPort
继承接口类(准确来说是实现接口),必须重写接口中所有的方法
相当于USB接口,不实现任何功能,但可以插入各种功能
添加新项-接口
直接点击小灯泡可以自动帮忙实现接口
只能继承单个类,但可以实现多个接口
直接创建接口变量
面向接口编程
接口可以直接声明一个对象。
用这个对象可以创建的多个实例。
这个对象创建的实例,这些实例都可以实现接口的功能。
以上的说法不太准确,应该是:
1、接口可以声明为变量类型,这个变量可以引用实现了该接口的类的实例
2、接口实现方式:定义接口-创建实现类(可以是多个)-实例化具体类(new)-通过接口变量来实现类
实现多态
用接口变量来调用任意一个实例
抽象隔离原则
接口的设计目的就是隐藏具体实现细节,只暴露契约(方法签名)。调用方只需知道"这个对象能飞行",而不需关心是飞机还是鸟。
运行时绑定
具体调用哪个实现,是在运行时动态决定的(根据当前引用的对象类型)。编译时只检查接口契约是否满足。
**一架小鸟**
接口不能继承
没有任何函数体
接口 interface
静态存储 static 可以直接访问
接口 interface
接口/interface:
pablic interface 类名{ 不完整的函数 }
定义一个接口在语法上跟定义一个抽象类完全相同,但不允许提供接口中任何成员的实现方式,一般情况下,接口只能包含方法,属性,索引器和事件的声明。
接口不能又构造函数,不能有字段,接口 也不允许运算符重载。
接口定义中不允许声明成员的修饰符,接口成员都是public(公有的)的。
多态:在父类声明一个对象的时候,可以利用它任意一个子类进行构造或重新构造,这时候这个父类对象可以是多种形态的 简称(多态)
接口不提供任何实现,只包含方法,不包含字段(如数据成员)
抽象类则可以有普通函数和数据成员
接口
定义接口:
新建项,接口名为IFly
interface 接口名
{
void fly();
}
(习惯在接口名前+I),接口里是不包含数据成员的
定义一个接口在语法上和定义抽象类完全相同,但不允许提供接口中有成员,接口只能包含方法,属性,索引器和事件的申明。
接口不能有构造函数,也不能有字段(成员),接口也不允许运算器重载
接口定义中不允许声明成员的修饰符,接口成员都是公有的
IFly 飞翔接口可以包含多个方法,默认为public
接口没有继承,实现接口的方法有
1.传统
定义 一个新的类,从中类似于继承
class 类名:接口名实现窗口
2.多态
IFly fly;
fly = new Plane();
fly.Fly();
C# 的接口定义: 使用interface关键字进行修饰。
接口不包含数据成员。
接口的方法不能私有, 默认使用public进行修饰。
接口:interface 只包含方法,未实现
接口声明一个对象:
IFly fly;
fly = new Plane();
多态:动态变化
接口I 开头命名
interface 接口修饰符
接口内只包含方法不包含字段,构造函数
接口方法都是public
接口的本质是什么