黑马程序员:面向对象思想

来源:互联网 发布:海康网络解码器 编辑:程序博客网 时间:2024/05/22 17:30

  **面向对象的思想:谁有数据,谁就对外提供操作这些数据的方法。
例子
 1 人在黑板画圆
  public class circle {
  private int []circleCenter=new int[]{0.0};
  private int  radius=1;
  public circle (circleCenter,radius){
   this.circleCenter=circleCenter;
   thid.radius=radius;
     }
  public void draw(int [] circleCenter,int radius){
      
    syso{ circle};
  }
}  
2 两块石头磨成一把石刀,石刀可以砍树,砍成木材,木材可以坐椅子。
   石头:stone     刀:knife       树:tree        材料:material            椅子:chair
 class stoneKnifeFactory{
 public stoneKnife createStoneKnife(stone){
    return stoneKnife;
     }
}
 class StoneKnife{
 public material cut(tree){
  return material;
    }
}
 class  ChairFactory{
  public chair makeChair(material){
  return chair;
 }
}
3 球从一根绳子的一端移动到了另一端

   绳子: rope,          球: ball
class Rope{
private Point start;
private Point end;
public Rope(Point start,Point end)
public Point NextPoint(Point currentPoint){
  /*通过两点一线的数学公式可以计算出当前点的下一个点,这个细节不属于设计阶段要考虑的问题,如果当前点为终止点,返回null,如果当前点不在线上,抛出异常*/
 
   }
}
 class Ball{
private Rope rope;
private Point currentPoint;
public Ball(Rope rope,startPoint){
  this.rope=rope;
  this.currentPoint=startPoint;
  }
public void move(){
  currentPoint=rope.nextPoint(currentPoint)
   syso{"小球移动到了"+currentPoint}
  }
}

原创粉丝点击