2011-01-05 159 views
0

考虑下面的代码:继承:方法

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

是的这样,如果好=] 成分可能不会破坏封装,但是这似乎是一个可以接受的:不过,这将违反封装,因为我将不得不存取权限的基类对象使用不重要的东西。