我有两个类,一个接口
分别是A,IB,C
1.IB接口中定义了一个add方法
2.A继承于IB,A实现了add方法.
3.在C类中实例化A A a = new A(),a.add()可以访问到,我不想让a.add()直接访问.能不能通过IB b = new A();来访问.
b.add();这样来访问
分别是A,IB,C
1.IB接口中定义了一个add方法
2.A继承于IB,A实现了add方法.
3.在C类中实例化A A a = new A(),a.add()可以访问到,我不想让a.add()直接访问.能不能通过IB b = new A();来访问.
b.add();这样来访问
b.add();这样来访问但前提是 A 实现了 IB 接口,
也就是说, new A().add() 可以被访问, 上面的代码才可以正常执行。
b.add();
b.add();这样来访问
可!
a.add()屏避了就行了.关键我不知道怎么做
{
void add();
}
class A : IB
{
void IB.add() {} //这时明显的接口实现
//public void add() { } //隐式的接口实现
}
class C
{
static void Main()
{
A a = new A();
//a.add(); //会报编译错误, 如果add是隐式的接口实现,就可以这样调用
IB b = a;
b.add(); //正确
}
}