类设计策略

来源:互联网 发布:2015年乡村旅游数据 编辑:程序博客网 时间:2024/06/08 04:41

 

面向对象的设计这一主题较为复杂;整个行业的人员都对此学科进行了大量的学术研究和专业实践。尽管如此,下面还是给出

了几条建议以帮助您着手进行面向对象的编程。

1 请考虑一下该类的实例将在应用程序中扮演的角色。通常,对象担任以下三种角色之一:

• 值对象:这些对象主要用作数据的容器 — 也就是说,这些对象可能拥有若干个属性和很少的几个方法 (有时没有方

法)。值对象通常是明确定义的项目的代码表示,例如音乐播放器应用程序中的 Song 类 (表示单个实际的歌曲)或 

Playlist 类 (表示概念上的一组歌曲)。

• 显示对象:它们是实际显示在屏幕上的对象。例如,用户界面元素 (如下拉列表或状态显示)和图形元素 (如视频游戏

中的角色)等等就是显示对象。

• 应用程序结构:这些对象在应用程序执行的逻辑或处理方面扮演着广泛的支持角色。例如,在仿生学中执行某些计算的

对象;在音乐播放器应用程序中负责刻度盘控件与音量显示之间的值同步的对象;管理视频游戏中的规则的对象;或者

在绘画应用程序中加载保存的图片的对象。

2 确定类所需的特定功能。不同类型的功能通常会成为类的方法。

3 如果打算将类用作值对象,请确定实例将要包含的数据。这些项是很好的候选属性。

4 由于类是专门为项目而设计的,因此最重要的是提供应用程序所需的功能。回答下列问题可能会对您很有帮助:

• 应用程序将存储、跟踪和处理哪些信息?确定这些信息有助于您识别可能需要的值对象和属性。

• 需要执行的哪些操作 — 例如,在应用程序首次加载时、在单击特定的按钮时、在影片停止播放时以及其它时候需要执

行哪些操作?这些是很好的候选方法 (如果“动作”仅涉及更改单个值,则是很好的候选属性)。

• 对于任何给定的动作,要执行该动作,该类需要了解哪些信息?这些信息将成为方法的参数。

• 随着应用程序开始工作,应用程序的其它部分需要了解类中的哪些内容将发生更改?这些是很好的候选事件。

5 如果有一个现有的对象类似于您需要的对象,只是缺少您想要添加的一些额外功能,请考虑创建一个子类 (在现有类的功

能的基础之上构建的类,而不是定义该类自己的所有功能)。例如,如果您希望创建一个将作为屏幕上的可视对象的类,可

将一个现有显示对象 (如 Sprite 或 MovieClip)的行为用作该类的基础。在这种情况下,MovieClip(或 Sprite)是基

类,而您的类是该类的扩展