面向对象设计把握一个重要经验:谁拥有数据,谁就对外提供操作这些数据的方法。
在牢牢掌握几个典型的案例就可以
人在黑板上画圆
person,blackBoard,circle
draw(){
x,y-->radius
}
画的方法应该在圆上面,画圆用到x,y
列车司机紧急刹车
刹车的方法应该在车上
你把门关上
关门的方法应该在门上面
售货员统计售后小票金额。
统计金额的方法应该在小票上面
学员的两个面向对象的面试题,用面向对象的方式设计如下情景。
“两块石头磨成一把石刀,石刀可以砍树,砍成木材,木材做成椅子”,
StoneKnife = KnifeFactory.createKnife(stone)
Stone[石头]
Material StoneKnife[石刀].cut(Tree)
Tree[树]
Material[木材]
chair = ChaireFactory.createChair(material)
Chair[椅子]
“球从一根绳子的一段移动到了另一端”,