C#中咩有多继承,为了解决多继承=====接口
什么是接口
接口可以理解为对一组方法声明进行统一命名,但是这些方法没有提供任何实现,也就是说,吧一组方法声明在一个接口中
然后继承于该接口的类都需要实现这些接口。
注意:
1、接口名称第一个字符必须是I。
2、接口中的方法不能有访问修饰符,方法体(方法的具体实现):可以有方法参数和方法返回值
3、接口中可以定义方法、属性、索引器、事件,不可以定义字段、运算符重载、构造、析构函数、static关键字
4、实现接口中的方法时,需要添加访问修饰符
5、如果一个类继承的有类和接口时,那么类一定要放到第一位置上。
6、如果多个接口中包含后相同方法名,的方法,我们使用隐式显示接口后,不知道这个显示的是哪个接口的方法,这个时候就需要
显示实现接口。显示实现接口 void IInterface.Add(){},需要指定那个接口里面的方法,调用的时候需要把子类转换成父类
(接口)去调用:calss a=new class(); Interface ic=(interface)a;ic.Add();
使用显示接口实现方式时,需要注意几个问题
1:若显示实现接口,方法不能使用任何访问修饰符。显示实现的成员默认为私有。
2:显示实现的成员默认是私有的,所以这些成员不能通过对象直接访问,此时正确的访问方式就是把类对象显示的转换为接口对象
通过接口来调用方法。
3:当类实现单个接口时,通常使用隐士接口方式,以为对象可以直接访问接口方法。
4:实现多个接口时候,一般推荐使用显示的方式。
定义:值描述可属于任何类或结构的一组相关功能,就是一种规范、功能。
组成:可由属性、方法、事件、索引器或这四种成员类型的任意组合构成。
接口概述:
在我们的计算机编程中,我们调用的很多函数其实抽象的说是接口.像我们经常听到的API函数
API其实就是Application programming interface的缩写,翻译过来就是应用程序接口!
接口的声明格式
修饰符 interface 接口名称
{
成员;
}
注:接口名称习惯以I开头,跟在I后的第一个字符也是大写的,结尾一般以able结尾。如 IClerkable
注意:
接口不能包含字段
接口成员不允许添加访问修饰符,默认就是public,成员也不能加abstract访问修饰符。
接口不能包含实现其成员的任何代码,而只能定义成员本身(如不允许写具由方法体的函数)
实现过程必须在实现接口的类中完成
如:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 接口的声明 { //接口中默认是public封装的,在写上publc作用是一样的 interface IFlyable { // string _name; 接口中不能有字段 //属性 string Nmae { //接口中不能有访问修饰符,get与set要写作成自动模式 get; set; } //字段 string _name; //接口不能包含字段 //方法 void write(); //接口中的方法不能有方法体。 } }