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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© syusikoku 高级黑马   /  2014-3-6 20:47  /  1570 人查看  /  4 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

1,人在黑板上画圆
       对象:人,黑板,圆
       画圆的动作是哪个对象上的方法?
       是圆上面的方法。
       为什么这么说了?
       是因为画圆需要圆心和半径,x,y,半径
       Darwcircle(){
         x,y - radius
       }
2,列车司机紧急刹车了?
       对象:列车司机,列车
       刹车的动作是哪个对象上的方法?
       是列车上的方法
       因为列车司机只是给列车发出了一个紧急刹车的信号。
       而发动机熄火,离合器离合,车轮的抱紧。是由列车内部完成的。
3,你关上门
对象:人,门
关门的动作是哪个对象上的方法
是门
因为关门的时候有以下动作:旋转,撞上门框,伸出锁舌,插到锁孔。
这些动作都是由门内部完成的。
4,售货员统计售货小票上的金额
对象:售货员,集合小票
统计小票上的金额是哪个对象上的方法
是售货小票上的方法
因为某个商品购买了多少件,多少金额只有售货小票最清楚。
而售货员在统计的时候只是调用了售货小票上的getTotalMoney()这个方法,这个方法的内部完成了售货
金额的计算。

两个最为常见的设计例子?
A:两块石头,磨成一把石刀,石刀可以砍树,砍出木材,做成椅子。
根据面向对象的思想来设计
石头—-石刀这一步不是石头来完成的。因为石头不可能自己把自己变没了。
木材---椅子这一步同上面的道理。
结合上面的文字。我们进行了分析。得出结果如下:
StoneKnife=StoneKnifeFactory.createKnife(Stonefirst,Stone secondary);
//石刀加工厂有制作石刀的方法,接收的是两块石头,返回的是石刀
Wood=StoneKnife.cut(tree);  
//石刀有砍树的方法,去砍的树,出来之后是木材
Chairs=WoodFactor.makeChairs(wood);
//木材加工厂有生产椅子的方法。接收的是木材,做出来的是椅子

B:小球从绳子一端滚动到了另一端
对象:小球,绳子
绳子的构造方法就应该有起始点,绳子还应该有一个获取下一点的方法
小球的构造方法里面就应该有一个绳子,和当前点,另外小球还应该有一个滚动的方法。
class Rope
{
       privatePoint start;
       privatePoint end;
       publicRope(Point start,Point end){
              this.start=start;
              this.end=end;
       }
       publicvoid nextPoint(Point currentPoint){
              //如果当前点是下一点则返回null,//如果当前点不在绳子上则抛出异常
       }
}
class Ball
{
       privateRope rope;
       privatePoint start;
       publicBall(Rope rope,Point current){
              this.rope=rope;
              this.start=current;
       }
       publicvoid move(){
              currentPoint=rope.nextPoint(currentPoint);
              System.out.println("小球滚动到了"+currentPoint+"点");
       }
}






评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

4 个回复

倒序浏览
还可以,张老师的经典台词
回复 使用道具 举报
知道,是谁拥有数据,谁就提供处理数据的方法
回复 使用道具 举报
好帖子》。。。。。
回复 使用道具 举报
刚看完,复习一下。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马