C#接口语法
- 接口名称一般以大写 I 开头
- 接口里面只能包含 方法、属性、索引器、事件
- 接口中所有成员都不能写任何访问修饰符,默认是 public
- 接口不能实例化,接口就是让子类来实现的
- 实现接口的子类必须实现该接口的全部成员
- 如果一个子类同时继承了父类A,并实现了接口IA,那么语法上A必须写在IA的前面。
class MyClass : A, IA{}
- 子类实现接口不需要写
override
关键字
public interface IFlyable
{
void Fly();
void M2(string msg);
string Name{ get; set; }
string this[int index]{ get; set; }
}
class Program
{
static void Main(string[] args)
{
IFlyable p = new Student();
p.Fly();
Console.ReadKey();
}
}
class Student : IFlyable
{
public void Fly()
{
Console.WriteLine("我可以飞");
}
void IFlyable.Fly()
{
Console.WriteLine("我可以飞");
}
public void M2(string msg)
{
Console.WriteLine("我实现了 M2方法");
}
public string Name
{
get{}
set{}
}
public string this[int index]
{
get{}
set{}
}
}