面向对象设计 -- 迅速掌握面向对象思想

核心原则:谁拥有数据,谁就应该提供访问该数据的方法。

举例如下

人在黑板上画圆

有哪些对象  人  黑板  圆

有哪些动作?  画圆

 那画圆应该是谁的方法?    圆的 

 

列车司机紧急刹车   ---思考 刹车应该是是谁的方法?   车的咯

你把门关上了  思考 关门的方法是谁的?   门的

路上有很多汽车,汽车要减少一个的方法是谁提供的?   路的

question: 请用面向对象的思维去设计以下情景???

石头磨成石刀,石刀可以砍树,砍成木材 ,木材做成椅子

石头 (Stone) ---》变成石刀 肯定不是自己的方法,把自己都变没了  所以应该有个石头加工厂  

StoneKnife   =   StoneFactory.createStoneKnife   (Stone);

石刀 (StoneKnife)  

树(Tree)  

木材(Material) Material = StoneKnife .cut(Tree );

椅子(Chair) Chair  =  ChairFactory.makeChair(Material );

 

posted on 2017-04-24 17:34  一只小蜗牛12138  阅读(127)  评论(0编辑  收藏  举报

导航