은 직원, 관리자 및 도우미 클래스를 고려 기본 클래스에서 속성을 억제 : 목표는이 같은 속성에 액세스하는 코드의 조각을 허용하는 것입니다 .NET 상속 :
public class Emp
{
public string Name { get; set; }
public Manager Manager { get; set; }
public Assistant Assistant { get; set; }
}
public class Manager : Emp
{
}
public class Assistant : Emp
{
}
:
var foo = new Manager();
var elmo = new Emp();
elmo.Manager = foo;
elmo.Manager.Manager = new Manager();
//how to disallow access to Manager.Manager ?
Manager
은 Emp
을 상속하므로 .Manager
및 .Assistant
속성을가집니다.
질문
는 .Manager
및 .Assistant
속성을 제거하는 .NET의 상속 구현에 어떤 수정이 있습니까?
업데이트는 큰 응답, 모든 주셔서 감사합니다. 나는 Emp/Mgr의 단순화와 고안이이 질문에서 보여지기를 바랬다. 이 예제에서 상속은 또 다른 공통점 (예 : Person
, 클래스가 이름, 생년월일 등을 공유하는 곳)으로 가져와야합니다. 입력 내용이 매우 만족 스럽습니다!
나에게 디자인 문제와 같은 냄새가 난다. 관리자는 다른 관리자에게보고 할 수 있지만 보조자에게는 보조자가 없을 것입니다. 아마도 기지는 사람이어야합니다 ... – Walter