隐式实现方式是默认的方式,即在继承的类中,直接编写接口函数的实现方法。
显示实现方式,是在继承的类中,需要显示的标识接口函数的对应接口,并且在未来使用这个函数时,需要使用接口定义的方式调用。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
MyClassAB myClass = new MyClassAB();
myClass.MyFunctionB();//隐式实现接口函数的调用
myClass.MyFunctionAB(); //隐式实现接口函数的调用
InterfaceB myClassB = new MyClassAB();
myClassB.MyFunctionAB();//显式实现接口函数的调用
InterfaceA myClassA = new MyClassAB();
myClassA.MyFunctionAB();//没有显式实现接口函数,所以调用的是隐式实现的函数
}
}
interface InterfaceA
{
void MyFunctionA();
void MyFunctionAB();
}
interface InterfaceB
{
void MyFunctionB();
void MyFunctionAB();
}
public class MyClassAB: InterfaceA,InterfaceB
{
public void MyFunctionA()//隐式实现接口函数
{
Console.WriteLine("This is function A");
}
public void MyFunctionB()//隐式实现接口函数
{
Console.WriteLine("This is function B");
}
public void MyFunctionAB()//隐式实现接口函数
{
Console.WriteLine("This is function AB");
}
void InterfaceB.MyFunctionAB()//显式实现接口函数
{
Console.WriteLine("This is function AB from InterfaceB");
}
}
}