Наследование: методы - PullRequest
0 голосов
/ 05 января 2011

Учитывая следующий код:

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); 
   }
}

1 Ответ

0 голосов
/ 05 января 2011

Да, если хорошо =] Композиция здесь, вероятно, не нарушит инкапсуляцию, но это кажется приемлемым использованием неинтригации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...