2012-06-03 5 views
-6

안녕하세요 좋은 사람들이 stackoverflow.어떤 화장실이 있어야합니까? (객체 지향적 인 관점에서)

오늘 나는 간단한 질문을하기 위해 여기에왔다. 화장실은 무엇이되어야 하는가?

오늘 욕실을 소스 코드에서 (객체 지향적 인 관점에서) 어떻게 생겼는지에 관해 친구와 이야기합니다. BathroomElement의 배열로? 하지만 히터는 어떨까요? 화장실 지정 요소가 아닙니다. 수업으로? 그러나 그가 "표준"화장실에서 더 많은 (또는 적은) 요소를 가지고 있다면 어떨까요?

좋은 답변이 있습니까?

+1

이제는 비용을 지불 할 수없는 엔터테인먼트입니다. – bzlm

답변

0

욕실은 욕조가있는 방입니다. 그래서 Room에서 파생됩니다.

다른 모든 것은 작성입니다. http://en.wikipedia.org/wiki/Composition_over_inheritance을 참조하십시오.

방을 살펴 보는 또 다른 방법 : 방의 일부인 경우 (즉, 부착되어 있고 플러그를 뽑아 제거 할 수없는 경우) 상속입니다. 추가 기능, 즉 스페이스 히터 또는 블로우 드라이어 인 경우 구성입니다.

일반적으로 실제와 같은 메타포는 잘 작동하지 않습니다. 바퀴, 개와 욕실을 하루 종일 털어내는 자동차에 대해 이야기 할 수는 있지만 하루가 끝날 때 상속은 그래픽 요소와 내부 데이터 구조에 관한 것입니다 (예 : 점, 원, 뚱뚱한 점, 사각형 , 등등)에 대한 것입니다.

0

RoomElement의 배열을 사용하고 요소 추가에 대한 일종의 컨트롤 유효성 검사를 구현할 수 있습니까? 마찬가지로 toiletlivingRoom에 추가하면 CannotBePlacedException이됩니다.

관련 문제