Ваша проблема может быть sumarized как единой ответственности Принцип, который является весьма связано с интерфейсом сегрегация Принцип (я предлагаю вам проверить SOLID принципы объектно-ориентированного проектирования: https://en.wikipedia.org/wiki/SOLID_(object-oriented_design))
You созданный администратором класса, который может одновременно добавлять сотрудников и PaySlip. Однако вы хотите отделить тех, кто уполномочен использовать часть вашего класса. Это знак того, что этот класс должен быть разделен на два разных класса. Один для каждого метода.
После этого вы сможете создавать свои «клиентские» классы (те, кто использует методы). Я предлагаю вам использовать состав, а не наследование, чтобы в конечном итоге получить доступ к вашим частям администратора, поскольку он не уверен, что имеет смысл иметь эту ссылку наследования.
Пример кода, который, конечно, не имеет отношения пока (но не лучше обойтись без дополнительной информации)
public class EmployeeAdministrator()
{
public void addEmployee(){ some code };
}
public class SalaryAdministrator()
{
public void Salary_PaySlip() { some code };
}
public class HR
{
public EmployeeAdministrator Administrator { get; }
// make use of addEmployee()
}
class Accountant
{
public SalaryAdministrator Administrator { get; }
// make use of void Salary_PaySlip()
}
вар с = нового администратора(); –
Разве этот крик «не использует наследование», или я чего-то не хватает? Что передают HR и Бухгалтер через Администратора? –
Почему бы не переместить эти два метода в их соответствующие производные классы? - если наследование необходимо. Я не понимаю! –