您的位置:首页 > 编程语言 > C#

接口的显示实现和隐式实现一点笔记

2015-07-30 10:42 197 查看
博客迁移

隐式实现 不知道成员的归属

显示实现 显示指定成员的归属(通过 接口名.成员 )

显式实现避免了成员归属混淆不清的情况,特别是多个接口中有相同的成员,或者接口中成员和类自己的成员冲突的情况。

隐式实现

public interface IBaseInterface1
{
void Method1();
void Method2();
}
public interface IBaseInterface2
{
void Method1();
void Method2();
}

public class Test : IBaseInterface1, IBaseInterface2
{
public void Method1()
{

}

public void Method2()
{
}
}


显式实现

public interface IBaseInterface1
{
void Method1();
void Method2();
}
public interface IBaseInterface2
{
void Method1();
void Method2();
}

public class Test1 : IBaseInterface1,IBaseInterface2
{

void IBaseInterface1.Method1()
{
}

void IBaseInterface1.Method2()
{
}

void IBaseInterface2.Method1()
{
}

void IBaseInterface2.Method2()
{
}
}


有时某个类往往会继承多个接口,而接口中往往会有一些相同名称、参数与类型的值。通过显式接口实现可以为避免一些不必要的歧义。

隐式接口实现,类和接口都可访问接口中方法。显式接口实现,只能通过接口访问。

注意:显式实现的成员不能用public来修饰,所以该成员不能通过该类来访问,只能通过接口访问。

比如

Test1 test = new Test1();
test.Method1();//调用会出错 这样调用是调不到的
IBaseInterface1 itest = test as Test1;
itest.Method1();


结:2015.7.30改
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息