面向对象的设计

面对对象的设计方法:就是数据在哪个对象上,哪个对象就提供对数据操作的方法
面对对象的列子:
1.人开门:实际是人调用门的开的方法,具体门是怎么开的,转轴在门上,门最清楚
2.两块石头磨成一把石刀,石刀可以砍树,砍成木材,木材做成椅子
StoneKinfe = KinfeFactory.createKinfe(Stone first,Stone second) 

Material = StomeKinfe.cut(tree)

Chair = ChairFactory.makeChair(Material)

 

3. 球从一根绳子的一段移动到了另一端

 1 class Rope{

 2     private Point start;

 3     private Point end;

 4     public Rope(Point start,Point end){

 5         this.start = start;

 6         this.end = end;

 7     }

 8 

 9     public Point nextPoint(Point currentPoint){

10         /*通过两点一线的数学公式可以计算出当前的下一个点,这个细节不属于设计阶段要考虑的问题

11         如果当前点是终止点,则返回null,如果当前点不是线上的点,则抛出异常*/

12     }

13 }

14 

15 class Ball{

16     private Rope rope;

17      private Point currentPoint;

18     public Ball(Rope rope,startPoint){

19         this.rope = rope;

20         this.currentPoint = startPoint;

21     }

22 

23     public void move(){

24         currentPoint = rope.nextPoint(currentPoint);

25         System.out.println("小球移动到了"+currentPoint);

26     }

27 }

 

 

你可能感兴趣的:(面向对象)