说我有两个班方法 - 减少重复
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