A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 丘鹏辉 初级黑马   /  2012-2-26 13:12  /  1378 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 大鹏丶 于 2012-2-26 13:15 编辑

面向对象设计把握一句经典语句:谁拥有数据,谁就对外提供了该数据的操作方法。
1,   人在黑板上画圆
       对象:人(Person),黑板(Blackboard),圆(Circle)
       方法:draw(){
               Point(x,y)-radius
         }
       draw()方法需要根据它的圆心和半径来画,而圆心半径是圆的私有数据,故draw()方法是圆对外提供的方法,因此人调用圆对外提供的这个draw()方法。
2,   列车司机刹车
      对象:司机(Driver),列车(Train)
      方法:stop()
      stop()方法是通过列车的硬件,来实现刹车,故stop()方法是车子对外提供的方法,因此司机是调用列车对外提供stop()方法来执行刹车这个动作。
3,   售票员统计收获小票的金额
      对象:售票员(Conductor),票(ticket)
      方法:getTotalMoney()
      售票员对象调用售票数据对象的getTotalMoney()方法,getTotalMoney()方法内部计算出售货票据的总金额。
4,          你把门关上了
      对象:你(You),门(Door)
      方法:revolve()
      关门这个动作是通过门轴的旋转而使门关了,你只是调用了门的这个旋转的方法,即revolve()方法。
5,   一个球从绳子的一端移到另一端
      对象:球(Ball),绳子(Rope)
      绳子有起点和终点,则对外提供了操作这两个终点的方法nextPoint(),而球的滚动move(),则在球的move()方法中调用了绳子对外提供的nextPoint()方法。
6,   用两块石头磨成石刀,用石刀砍树,将树砍成木材,用木材做成椅子
      对象:石头(stone),石刀(StoneKinfe),树(Tree),木材(material),椅子(chair)
      石头磨成石刀,这个是石头内部的方法,把自己变成石刀,错,自己都没有了,只能是别人把自己变没有了,而不能自己把自己变没了,所以我们可以定义一个石刀加工厂生产石刀,即:StoneKnife=KnifeFactory.createKnife(stone  first ,stone second).石刀的砍方法material = stoneKnife.cut(Tree)来将树砍成木材,将木材做成椅子,同样可以用木材加工产生产椅子,即:chair=ChairFactory.makeChair(material)。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马