面向对象

    对象模型主要要素:<1>抽象,<2>封装,<3>模块化,<4>层次结构

                  次要要素:<1>类型,<2>并发,<3>持久

    面向对象分析(OOA), 面向对象设计(OOD),面向对象编程(OOP)。

    面向对象分析,是一种分析方法, 这种方法利用从需求的问题域的词汇表中找到类和对象。


    抽象,提取对象的与问题域相关的,重要的属性和行为,忽略与问题域相关的属性和行为。

    封装,即对行为的实现。 对于C++来说,封装的结果就是类的一个个成员函数,或方法。

    模块化,是将一个程序分割到一些组件中,组件之间通过接口交互与联系。 模块化能够管理复杂性。

    层次结构, 复杂系统中,最重要的两种层次结构是复杂系统的类结构("是一种"层次结构,如继承)和对象结构("组成部分" 层次结构,如 聚合)

    

    什么是对象? 对象,是一个具有状态,行为,和标识符的实体。

    标识符,是一个对象的属性,它区分这个对象与其他所有对象。

    消息, 一个消息就是一个对象执行了另一个对象的操作。

    协议,一个对象的所有方法共同构成了它的协议。即,一个对象的协议定义了对象允许的行为的封装,构成了这个对象完整的静态视图和动态视图。

    责任,意味着表达对象的一种目标以及他在系统中的位置。

    

    对象之间的关系。

    单独一个对象是无用的对象只有通过与其他对象协作,才能为系统的行为做出贡献。 对象之间的两种重要的关系是,<1>链接    <2>聚合

    链接,是两个对象之间物理上或概念上的联系。 一个对象通过它与其他对象的链接,与其他对象进行协作。

    聚合,表明了一种整体/部分的层次结构,提供了从整体导航到它的部分的能力。


    类, 只要理解一个简单的公有操作的语义,就可以读懂这个类的行为。

    类之间的关系,存在三种基本类型的类关系。 <1>一般/特殊关系  ,表示"是一种"关系  <2>整体/部分 ,表示"组成部分" 关系。    <3> 关联, 表示某种语义上的依赖关系。

      

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