给出以下代码:
class BaseClass
{
protected void Do(var param) {};
}
class DerivedClass
{
public void DoSomething()
{
var param = something;
Do(param);
}
}
这是使用继承的正确方法吗?我想我会把“Do”方法放在一个单独的类中并使用组合。但是,这会违反封装,因为我必须访问基类中的对象:
class DerivedClass
{
public void DoSomething()
{
var param = something;
base.GetObject().Do(param);
}
}
答案 0 :(得分:0)
是这样,如果好=] 这里的组合可能不会破坏封装,但这似乎是一种可接受的无效性使用。