初心

何期自性,本自具足

如何以对象方式思考(二)

| Comments

  OO设计的基本单元是类。OO设计所期望的最终结果是一个健壮、功能完备的对象模型,换句话说,也就是一个完备的系统。

确定用户

  用户是那些真正使用系统的人。设想一个出租车的例子,压迫构建一个现实而可用的接口,要把顾客和出租司机双方都认为是用户。

对象行为

  明确用户只是工作的一部分。明确用户后,必须确定对象的行为。要从所有用户的角度考虑,明确每个对象的作用以及必须要做什么才能执行。

环境约束

  环境通常会限制对象能够做什么。

明确公共接口

  收集到有关用户、对象行为和环境的所有信息后,需要确定每个用户的公共接口。

考虑如何使用出租车对象:

  1. 坐进出租车。

  2. 告诉出租司机你要去哪里。

  3. 给出租司机付车费。

  4. 下车。

使用出租车对象需要做:

  1. 明确要去一个地方。

  2. 叫一辆出租车。

  3. 给出租司机付钱。

  开始时,要考虑对象如何使用,而不是它如何构建。确定最终的接口是一个迭代的过程。对于每个接口,必须确定这个接口有助于对象的操作。如果没有,就可能是不必要的。

明确实现

  选择了公共接口之后,就需要明确实现。考虑类工作的具体细节。

  不属于公共接口的所有部分都认为是实现。用户不会看到作为实现的任何方法,包括方法的签名(其中包括方法名和参数列表)以及方法中的具体代码。

  可以有一个私有方法,由类在内部使用。所有私有方法都认为是实现的一部分,用户不会看到它,从而也无法访问私有方法。实现对用户是完全隐藏的。

  从理论上讲,被认为是实现的任何部分可以改变而不影响类的用户接口。接口表示了用户如何看对象,而实现实际上是对象的具体内容。实现包含了表示对象状态的代码。

摘自《写给大家看的面向对象编程书》

Comments