黑马程序员:面向对象设计练习

来源:互联网 发布:oracle导出数据库脚本 编辑:程序博客网 时间:2024/05/29 13:59

------- <a target="_blank" href="http://www.itheima.com">android培训</a>、<a target="_blank" href="http://www.itheima.com">java培训</a>、期待与您交流! ----------

面向对象设计原则: 谁拥有数据,那么对这些数据进行操作的方法就交给谁。

1. 人在黑板上画圆

Person, Blackboard, Circle

Circle->draw(blackboard){ }

Person{

paint(blackboard, circle)

{

circle.draw(blackboard);

}

2.列车司机紧急刹车

Car   driver

Car->  stop()


3. 售货员在统计售票的金额

Conductor,TicketMachine->  count()


4. 路上汽车的变化
Rode-> addCar()   removeCar()
light->red  green
lightManager-> change()

5. 两块石头磨成一把石刀,石刀可以砍树,砍成木材,木材做成椅子。
stone     stoneKnife    chair
StoneKnifeFectory{
stoneKnife makeKnife(stone){}
}

stoneKnife{
meterial Cut(Tree){
}
}
ChairFectory{
chair  madeChair(meterial){}
}
6. 球从一根绳子的一头滚到另一头。
ball   Rope
Rope{
Point start;
Point end;
Point  nextPoint(point current)
{}
}

ball{Rope;
ball;
move();
}

0 0
原创粉丝点击