我偶然发现了一个与 OOPS 相关的面试问题。这是问题:
有一个包含 5 个方法的基类 A
。现在我应该如何设计类,如果类 B
继承类 A
,则只公开 3 个方法。如果 C
类继承了 A
类,则将公开其余 2 个方法。
有什么想法吗??
最佳答案
如果 A
是部分的并且您有 2 个命名空间,则:
namespace the_impossible
{
class Program
{
static void Main(string[] args)
{
B b = new B();
C c = new C();
b.m1();
b.m2();
b.m3();
c.m4();
c.m5();
}
}
namespace A_1
{
public partial class A
{
public void m1() { }
public void m2() { }
public void m3() { }
}
}
namespace A_2
{
public partial class A
{
public void m4() { }
public void m5() { }
}
}
class B : A_1.A
{
}
class C : A_2.A
{
}
}
关于c# - 仅公开派生类中的一些继承方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30377320/