c# - 仅公开派生类中的一些继承方法

标签 c# oop inheritance

我偶然发现了一个与 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
{ 

}
}

enter image description here enter image description here

关于c# - 仅公开派生类中的一些继承方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30377320/

相关文章:

c# - 我应该在 .Net 4.5 中使用 MVC 在服务器上应用并行编程吗

oop - 当我们尝试通过继承重用代码时如何解决并行继承层次结构

c# - 是否可以使派生类的字段也被派生?

inheritance - 如何在子类中将多个父类构造函数与 val 混合

c# - 如何将条码图像插入 PrintDialog?

c# - SQL 2005 随机连接超时/关于数据库超时的最佳实践

c++ - 复制构造函数不识别继承的成员

java - 子类的对象不能调用自己的方法

c# - 复制具有原始权限的文件

C#调用另一个Form的方法