2010-12-22 72 views
1

我有兩個班,學生和老師,學生有一個具體的方法:takeCourse;教師有一個具體的方法:教授課程。添加新班級的設計模式

現在我想添加一個新的Class,GradStudent,它可以像課程一樣學習,也可以像老師一樣教課程。哪種模式是實現這個新類最簡單​​的方法?適配器,複合,委託....?

感謝。

+0

作業問題? – 2010-12-22 18:09:36

+0

多繼承。 – 2010-12-22 18:11:00

回答

2

的問題應該是什麼模型最好的辦法對這個問題的答案將是「路是有意義的真實世界」,即讀研究生也教,並採取當然;-)

不要試圖將所有內容都與設計模式聯繫起來。堅持我們在學校學到的基本原理「班級模型真實世界對象」,「保持模型接近現實世界」

interface CanTeach 
{ 
void teachCource(); 
} 

class Teacher implements CanTeach {...} 

class Student 
{ 
void takeCourse(...); 
} 

class GradStudent extends Student implements CanTeach 
{ 
... 
}