다음 상황에 대한 조언을 찾고 있습니다. 나는 상속 구조가 동기화 코드를 줄이는데 도움이 될 것이라고 생각한다. 이 모델을 만드는 이상적인 방법에 대한 권장 사항이나 비슷한 예를 보여줍니다.Java에서 상속/합성 구조 만들기
모델은 다음과 같습니다.
몇 명의 할아버지가 있습니다. GrandParent는 여러 명의 부모를 가질 수 있으며 유사하게 부모는 여러 명의 자식을 가질 수 있습니다. 두 가지 "상속"구조가 있는데, 하나는 학부모/아동용이고 다른 하나는 "IncomeStatements"구조입니다.
"grandIncomeStatement"및 "parentIncomeStatement"는 해당 IncomeStatement뿐만 아니라 Children의 누적 소득 계산서입니다. "myIncomeStatement"에 변경이있을 때마다 동기화해야합니다.
지금은 모든 상속 및 변경 사항을 기록한 코드가없는 공통 속성을 가진 "클래스 IS (IncomeStatement)"를 만들었습니다. 각 레벨의 IncomeStatements를 참조하십시오.
class GrandParent {
ObjectIS myIncomeStatement;
ObjectIS grandIncomeStatement;
}
class Parent {
ObjectIS myIncomeStatement;
ObjectIS parentIncomeStatement;
}
class Child {
ObjectIS myIncomeStatement;
}
(당신은 분명히 엄격한 액세스 제어, 적절한 게터/세터를해야합니다) 당신은 항상 다형성을 사용할 수 있습니다 그런 다음'instance of '연산자를 사용하면 동적 바인딩이 올바른 함수를 호출 할 것이므로 btw를 확인할 수 있습니다. –
Java에서 이러한 "클래스"선언은 없으며 "class ...."소문자 여야합니다. –
@JorgeCampos. 편집 문제. 변경했습니다. – userDSSR