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

------- <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();
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值