전기 장치를 나타내는 클래스가 있습니다 (클래스 1이라고 부름). 또한 본질적으로 함께 결합 된 장치의 배열 (클래스 2), 여러 장치를 나타내는 클래스가 있습니다.상속과 집계를 사용하여 두 객체를 관련시키는 것은 나쁜 프로그래밍 습관입니까?
분명히 집합 관계를 갖는 것이 의미가 있습니다. 클래스 1의 인스턴스는 클래스 2에 포함됩니다. 그러나 제 사용법에서는 클래스 2를 클래스 1의 더 큰 인스턴스로 간주하는 것이 일반적입니다 (비슷한 방식으로 배터리 뱅크는 단일 배터리로 생각할 수도 있습니다).
이것은 클래스 2의 클래스 1에있는 모든 메소드와 속성을 재사용하면서 몇 가지 메소드와 속성을 추가하려는 것을 의미합니다. 내 생각에 이것은 상속 관계가 또한 의미가 있음을 의미합니다. 그러나 일부 속성은 사용자가 정의하지 않고 임베디드 부모 객체에서 파생됩니다.
일반적으로 수행되는 작업인가요? 나는 프로그래밍에 익숙하지 만 부모 클래스와 자식 클래스 사이에 두 줄로 된 UML 다이어그램을 보지 못했다. 저의 접근 방식은 나쁜 프로그래밍 습관입니까? 그러한 관계에 대한 더 나은 표현이 있습니까?
가능한 경우 상속을 통한 집계를 선호합니다. 이 경우에는 class2를 삭제하고 class1을 내부의 목록과 함께 사용할 수 있습니다. 나무처럼. 나는 집계와 동시에 상속의 필요성을 결코 갖지 못했습니다. –