接口和抽象类很相似,他也是给其他类提供一个代码规范,但他和抽象类异同是
(转自https://blog.csdn.net/chengmuzhe2690/article/details/80764327)
声明一个接口是这么写的
interface 接口名{接口内需要被实现的方法}
看个栗子
interface IShape
{
double Area(double a, double h);
double Perimeter(double a, double b, double c);
}
interface IPrinter
{
void Printer();
}
这就声明了两个接口,里面有一些方法等着继承该接口的类实现.
值得一提的是该成员默认访问修饰符为public,也只能是public.他实现的方法也只能是public修饰符.
class Triangle : IShape,IPrinter
{
public double Area(double a,double h)
{
return 0.5 * a * h;
}
public double Perimeter(double a, double b, double c)
{
return a + b + c;
}
public void Printer()
{
Console.WriteLine("Hello triangle");
}
}
从上面的的例子可以大概得知一个类如果要引进接口是这么写的
class 类名:(需要继承的类),接口1,接口2
一个类只能有一个继承槽位,但是可以实现多个接口,这就解决了C#的单继承问题.
接口继承
接口也可以继承接口.
假如有接口A,接口B,类A.接口B继承自接口A,那么类A实现接口B的时候要把A,B两个接口里的方法全部实现