說我有兩個班方法 - 減少重複
class Driver{
//attributes of driver ,ex: driving licence number
// methods related to driving ,ex: drive(Car) , stop(Car)
changeTyre(Car,Tyre); // sometimes the driver can change the tyres right?
}
class Mechanic{
// Hard mechanical stuff , ex: repairEngine(Car)
changeTyre(Car,Tyre); // Simple.hence sometimes the driver also does
}
現在兩個changeTyre()
方法的實現將是相同的。
現在我有兩個問題,
- 有一個代碼重複(重複)
- 它似乎沒有意義的具有包含
changeTyre(Car,Tyre)
方法的超級類
如何這些情況處理?
'changeTyre(Car,Tyre)'做的是類方法嗎?如果實現是相同的,我希望它不一定是一個類方法(不使用類屬性/方法),或者兩個類的重疊程度都超過了你的建議(例如,這個人的名字可能是記錄更改輪胎:兩個類都有一個名稱屬性),在這種情況下會有一個有意義的基類(例如Person或CarLover或其他)。 – catchmeifyoutry 2012-07-24 12:27:43
changeTyre(Car,Tyre)是一個類方法,因爲它既是Driver和Mechanic的行爲(我想我是正確的)。我仍然沒有「確信」擁有包含changeTyre(Car,Tyre )方法:( – Dinushan 2012-07-24 12:31:54
@ D-Shan:這也是汽車和輪胎的行爲:) – user396672 2012-07-24 12:50:51