Учитывая следующий код:
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);
}
}