Inheritance 继承:方法

Inheritance 继承:方法,inheritance,Inheritance,给定以下代码: class BaseClass { protected void Do(var param) {}; } class DerivedClass { public void DoSomething() { var param = something; Do(param); } } 这是使用继承的正确方法吗?我想我会把“Do”方法放在一个单独的类中,并使用composition。但是,这将违反封装,因为我必须

给定以下代码:

class BaseClass
{
    protected void Do(var param) {}; 
}

class DerivedClass
{
     public void DoSomething()
     {
        var param = something;
        Do(param);
     }
}
这是使用继承的正确方法吗?我想我会把“Do”方法放在一个单独的类中,并使用composition。但是,这将违反封装,因为我必须访问基类中的对象:

class DerivedClass
{
   public void DoSomething()
   {
      var param = something;
      base.GetObject().Do(param); 
   }
}
是的,如果好的话就那样 这里的合成可能不会破坏封装,但这似乎是一个可以接受的非真实性用法