2011-05-05 3 views
-1

:모델링 간단한 클래스 계층 구조, 내가 모델링 할 필요가 6 개 개념이 C#을

차량 자동차 트럭 도로 드라이브 보트

명백한 사람은 차량 < - 자동차, 트럭 있습니다를, 보트 - 그리고 저는 Drive가 자동차의 추상적 인 방법이 될 수 있다고 생각합니다. 그러나 통합하는 가장 논리적 인 방법에 관해서는 저에게 장애가되는 도로 개념입니다.

모든 제안/조언을 부탁드립니다.

+0

이 숙제가 있습니까? –

+0

당신은 아마도 Drive() 메소드에 Road를 전달하기를 원할 것입니다. Road는 아마도 GravelRoad, ResidentialStreet, MajorStreet, Freeway 또는 그와 비슷한 클래스로 서브 클래 싱 할 수있는 추상 클래스 여야합니다. – David

+0

@David - 보트 운전을 원하지 않는 한. –

답변

1

나는 숙제처럼 들리지만 너무 많이주고 싶지 않습니다.

그러나, 당신이 찾고있는 개념이 인터페이스

인터페이스는, 직접 (즉 돈 '과 관련이없는 개체를 가질 수 있도록 그들은 반드시 동일한 메소드를 구현하기 위해 Object에서 떨어져있는 공통 클래스를 가지고있다. 따라서 두 가지 (PersonCar)를 해당 동작으로 처리 할 수 ​​있습니다 (예 : 둘 다 IMove 인터페이스를 구현하여 Move 메소드를 정의).


는 아마도 Road를 사용하여 해당 항목의 어떤 고려하여, 멀리 여기에 인터페이스없이 얻을하지 않는 수 있다고 말했다 가졌어요. 나는이 "Road Using"클래스의 공통 조상이 될만한 곳이 있다고 생각합니다.이 클래스는 또한 Vehicle에 있습니다.