类或接口的设计求助
假设,设计一个基类:ClsBasic,里面有方法若干:
public void aa() {...}
public void bb() {...}
public void cc() {...}
public void dd() {...}
但是,我希望在它的派生类中,有些只能使用aa()和bb(),而有些则可以使用上述所有四个方法。
怎么设计?
我知道,有一种办法,就在是ClsBasic中只设计aa()和bb(),而cc()和dd()使用则使用接口来设计:
public class ClsBasic
{
public void aa() {...}
public void bb() {...}
}
public interface IBasic
{
public void cc();
public void dd();
}
两个派生类:
public class cls1 : ClsBasic
{
}
public class cls2 : ClsBasic, IBasic
{
public void cc() {...}
public void dd() {...}
}
这样,的确,cls1只有aa()和bb(),而cls2就可以具有aa(), bb(), cc(), dd()了。
但是,在所有需要使用cc()和dd()的派生类中(比如以后再设计cls3, cls4...),它们的cc()和dd()方法基本相同。难道在分别在cls3和cl4中复制cls2中的cc()和dd()的函数代码?
谢谢。