클래스가 다른 클래스를 기반으로하는이 계층 구조에서는 이렇게 생각하면됩니다.
A -> B -> C ->하자 D
이 예에서 -> B는 당신이 그것을 그런 식으로 생각하는 경우 등
, 클래스가로 변신 할 수 A로부터 상속 의미 그것들보다 적은 클래스 (왼쪽) : D는 C, B 또는 A가 될 수 있습니다. B의 경우, 오른쪽의 클래스는 체인의 "상위"에 있기 때문에 액세스 할 수 없습니다. 따라서 B를 B로 만들 수는 없습니다. 는 C, 또는 D
당신의 예에서
,
직원 -> 관리자
관리자는 왼쪽으로 Employee로 이동할 수 있으므로 사용자는 그런 식으로 변형 할 수 있지만 Manager는 Employee의 오른쪽에 있습니다. 이는 앞에서 설명한 것처럼 해당 전환을 불가능하게 만듭니다.
상속을 받으면 기본 클래스의 모든 이점을 얻을 수 있기 때문에 추론합니다. 변수, 함수, 그것 모두.체인을 올라가려고 할 때, 변수, 클래스 등을 추가하는 것이므로, 이제는 더 많은 메모리를 필요로하고 원래와 다르게 동작 할 것이므로 본질적으로 객체를 다시 만들어야합니다. 그러나 나무 아래로 내려 가면 양파를 벗기고 있습니다. 당신이 쫓고있는 양파의 자리를 드러내 기 위해 레이어를 벗겨냅니다. 그들은 모두 거기에있어, 그들은 작은 부분을 구성하기 때문에 그들은 직접 볼 수 없습니다.
당신은 다른 방법으로 그것을하고 있기 때문에. 위의 줄은 어떻게되어야 하는가입니다. Employee (e)가 실제로 Manager가 아닌 Accountant (Employee에서 파생 된 직원) 인 경우 일어날 일을 상상해보십시오. –
"하위 오브젝트"가 의미하는 바를 설명하면. – juanchopanza
'Manager'와'Employee'의 정의를 제공해야합니다. –