黑马程序员_面向对象思想分析与设计

------- android培训   java培训   期待与您交流! ----------
面向对象设计把握一个重要的经验:谁拥有数据,谁就是对外提供操作这些数据的方法。
下面我们来分析几个例子来深入的理解下这句话:
1:列车司机紧急刹车。 这里列车拥有刹车方法,因为人是没有那么大的力气去把车个阻挡下来的,是车子自己去熄火,刹车停下来的,人只不过给了车子一个停下来的指令。(熄火,刹车这些数据是车子拥有的)
2:人在黑板上面画圆。画这个方法是圆自己拥有的。因为画圆需要圆点与半径,那么这些数据是圆本身拥有的,人只不过给了一个画圆的请求,圆自己把自己画出来。(圆点和半径是圆拥有的)
3:售货员统计收获小票的金额。统计金额这个方法谁小票拥有的,因为每个金额的数值是小票所知道,人是不知道的,人发请求,小票统计。(金额数据时小票拥有的)
4:你把门关上了。关这个方法是门的,因为关门需要扭转转轴,旋转角度,这些数据是门的,你只是给门发关门指令(转轴 是门拥有的)
5:两块石头磨成一把石刀,石刀可以砍树,砍成木材,木材做成椅子。
这里要有面向对象的方式来设计如下情景:第一句话,两块石头磨成一把石刀 石头变成石刀,变石刀这个方法若是给石头自己的话,那么石刀产生了,石头自己就消失了,这个不好!那么就要使用工厂了!现在有个石刀工厂,接收两块石头,生产一个石刀!
石刀=石刀工厂.创建石刀(石头,石头);
第二句话, 石刀可以砍树,砍成木材,树自己吧自己变成木材是不可能的 所以树需要被石刀砍那么可以这么写
木材=石刀.砍(树);
第三句话,木材做成椅子,同理木材把自己变成椅子之后自己就消失了所以使用工厂。
椅子=椅子工厂.创建椅子(木材);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值