C#接口

69 阅读1分钟

定义

接口是类似于的结构,指定一组函数成员而不实现成员的引用类型

namespace DemoApplication
{
     interface IShow
     {
        //里面的方法默认修饰符为public
        //没有结构体
          void Fun1(int a, string b);
          String Fun2();
     }
}

实现接口

相当于继承接口重写全部函数

class ChildrenClass : IShow
 {
    public void Fun1(int a, string b)
    {
        Console.WriteLine(a, b);
    }
    
    public String Fun2()
    {
        Console.WriteLine(1);
        return 1;
    }
}

在其它方法中使用

//方式1
ChildrenClass ccs = new ChildrenClass();
ccs.Fun1();
ccs.Fun2();

//方式2
IShow fun;    //父类声明
fun = new ChildrenClass(); //子类构造
fun.Fun1();
fun.Fun2();

//由ChildrenClass的类变成其它类(多态)
fun = new 其它同样继承的类();
fun.Fun1();
fun.Fun2();

接口之间也可以继承

//接口1
interface itf1
{
    void fun1();
}
//接口2
interface itf2 : itf1
{
    void fun2();
}
//实现接口
//要重写两个接口的方法
class ItfClass : itf2
{
    public void fun1()
    {
        Console.WriteLine(1);
    }
    public void fun2()
    {
        Console.WriteLine(1);
    }
}

多个接口继承

//一个类可以继承多个接口,但只能继承一个类
class ItfClass : Class1, Interface1, Interface2
{

}

作用

1.用来定义一组方法,使用时防止漏写其中一个