我今天复习了一下索引器,接口,抽象类;
1.接口显示实现和隐式实现
一般情况,当类或者结构要实现单个接口,可以使用隐式实现。如果类或者结构继承多个接口且接口中具有相同名称成员时,
2.就接口的继承
接口继承和类的方法实现,而派生的接口只继承了父接口的成员方法说明,而没有继承父接口的成员方法说明,而没有继承父接口的实现。
C#中类继承只允许单继承,但是接口继承允许多继承,一个子接口可以存多个父接口。
3.接口的覆盖:
由于接口实现没有方法体,抽象方法也没有方法体,抽象方法也没有方法体,那么当我们在接口实现方法调用抽象方法时,会如何执行呢、?
结果:抽象类子类的实现方法功能。
4.接口跟抽象类区
接口中只能声明方法,属性,事件,索引器。而抽象类中可以有方法的实现也可以定义非静态的类变量。抽象类是类,所以只能被单继承,但是接口却可以一次实现多个。
5.抽象类
抽象类的实例是它的子类给出的,接口的实例接口的类给出的。
抽象类是类,所以只能被单继承,但是接口却可以一次实现多个。
在抽象类中加入一个方法,那么它的子类就同时有了这个方法,而在接口中加入一个方法,那么它的子类就同时有了这么个方法,而在接口中加入新的方法,那么实现它的类就要重新编写(这就是为接口是一个类的规范了。)
接口成员被定义为公共的,但抽象类的成员也可以是私有的,受保护的,内部的或受保护的内部成员。
此外接口不能包含字段,构造函数,析构函数,静态函数,静态成员和变量。
声明:此篇文档时来自于【狗刨学习网】社区-unity极致学院,是网友自行发布的Unity3D学习文章,如果有什么内容侵犯了你的相关权益,请与官方沟通,我们会即时处理。
6.索引器
索引器的格式如下:
修饰符 返回类型 this[int idenx]
Set{
If(index==0){
Name=value;
}
Else if(index==1)
{
Password=value;
}
}