面向对象思想

面向对象设计把握一个重要的经验:谁拥有数据,谁就对外提供操作这些数据的方法.

 

案例是最好理解的,下面通过几个案例来说明:

1.人在黑板上画圆

通过这一句话很容易想到这几个对象 person,blackboard,circle,接下来就是画圆draw()这个方法的描述应该设计在哪个类身上呢?

要想画出一个圆出来,我们得知道圆心和半径,而这两个数据是圆的,画圆这个方法要操作圆心和半径这两个数据,根据我一开始的准则,这个方法应该设计成是圆提供的

 

2.列车司机紧急刹车

思考:紧急刹车这个方法应该被设计在谁身上,是司机还是列车?

应该设计在列车上,因为刹车这个功能只有列车本身可以执行,司机只是调用了列车的刹车,然后列车在内部使列车实现刹车效果。

3.售货员统计收获小票的金额

思考:统计票金额是售票员的功能还是售货票据的功能?

票的信息在售货票据身上,应该是售货员对象调用售货票据对象的getTotalMoney()方法,getTotalMoney()方法内部计算出售货票据的总金额。

4.你把门关上了

门的关闭动作对于门这个具体类来说,是由一系列动作组成的,门的旋转,靠到门框,锁上,而这些具体的内容用面向对象思考的话,应该设计在门这个类身上,人只是调用了关门这个方法。

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