核心原则:谁拥有数据,谁就应该提供访问该数据的方法。
举例如下
人在黑板上画圆
有哪些对象 人 黑板 圆
有哪些动作? 画圆
那画圆应该是谁的方法? 圆的
列车司机紧急刹车 ---思考 刹车应该是是谁的方法? 车的咯
你把门关上了 思考 关门的方法是谁的? 门的
路上有很多汽车,汽车要减少一个的方法是谁提供的? 路的
question: 请用面向对象的思维去设计以下情景???
石头磨成石刀,石刀可以砍树,砍成木材 ,木材做成椅子
石头 (Stone) ---》变成石刀 肯定不是自己的方法,把自己都变没了 所以应该有个石头加工厂
StoneKnife = StoneFactory.createStoneKnife (Stone);
石刀 (StoneKnife)
树(Tree)
木材(Material) Material = StoneKnife .cut(Tree );
椅子(Chair) Chair = ChairFactory.makeChair(Material );