using System;
public class Base
{
public Base()
{
}
public void M1()
{
}
public void M2()
{
}
public void M3()
{
}
}
public class Derived : Base
{
//this class should get only method 1
}
public class SecondDerived : Base
{
//this class should get only method 2 and method3
}
需求是:基类包含M1
、M2
、M3
这3个方法。
派生类应仅继承 M1
,SecondDerived 应仅继承 M2
和 M3
。
如何做到这一点?
最佳答案
您不能有选择地继承这样的方法。派生类自动继承基类的所有公共(public)方法。我建议您将 Base
类分成两个类:
public class Base1
{
public Base1()
{
}
public void M1()
{
}
}
public class Base2
{
public void M2()
{
}
public void M3()
{
}
}
public class First : Base1
public class Second : Base2
关于c# - 限制子类继承基类的某些方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8940379/