面向对象程序设计步骤

来源:互联网 发布:ux是什么软件 编辑:程序博客网 时间:2024/06/01 09:16

面向对象程序设计的第一步,就是在问题领域中识别出有效的对象,然后从识别出的对象中抽象出类来。面对纷繁复杂的现实问题,往往存在多种对象划分的方式,而不同的划分会带来类的设计以至于程序结构的各种不同。对象划分有一些理论,但是不是这门面向对象的入门课程能覆盖的。而且目前的理论也还不是放诸四海皆准的简单操作指南。我们举了一个数字钟的例子,希望通过这个例子表明对象划分的重要性,给你一个感性认识。在今后面对实际的问题领域时,可以试试用这里提到的概念来做对象的划分和类的设计。但是这只是一个例子,遇到具体情况一定是具体分析,按照问题领域的实际情况来做。
一个对象当然可以由其他类的对象来组成,就像一个人体里面有心脏、肠胃一样。对象是由其他对象组成的,而类定义了这样的组合关系。
那么下一个问题,就是当一个对象里有多个对象的时候,那些对象之间是如何交互的,对象和对象之间的联系是如何建立的,对象如何和其他对象交流。对象和对象之间的联系紧密程度叫做耦合。对象和对象的耦合程度越紧,表现在源代码上,就是它们的代码是互相依赖、互相牵制的。我们理想的模型,是对象和对象之间的耦合要尽可能的松,平行的对象要尽量减少直接联系,让更高层次的对象来提供通信服务。这些就是在我们这个非常简单的数字钟的例子中所体现的。
要实现一个数字钟非常简单,如果只是实现功能,入门课程里的一个循环就可以了。这里所体现的,是更深层次的面向对象设计的理念。

如:11:30 这样的时钟, 可以识别出对象分为 “小时”对象和“分钟”对象,(在问题领域中识别出有效的对象),然后设计一个类来构造这两个对象,一个表达“小时”对象和一个表达“分钟”对象(从识别出的对象中抽象出类来), 由此可以我们可以创建一个Display类,类中包含了两个对象都有的属性 value值(当前值)和limit值(上限);初始化上限值的构造函数(方法),以及获取当前值的函数(方法)