OOAD 面向对象设计与分析

OOAD 面向对象设计与分析
准备使用IBM收购Rational以后的最新产品RSA 6.0,作为开发建模工具。

人写程序与类在打交道,而在程序运行时,是对象在运行。

人写的是类型,而动态的是对象,使机器在运行代码。

OO是一种系统建模的技术,是一个过程!

对对象进行描述。

在这个过程中,要使用UML语言进行类型的描述。

========================================

比如模拟达内,可以说有很多老师对象和学生对象,但在达内,关注学生这个个体什么呢?只关心姓名,性别,背景,而绝对不关心它的婚姻情况。

可以对这些对象进行共性的提取,变为老师类型和学生类型。而运行时就是一个个有特性的实例。

========================================

什么是对象,就是一个属性确定的实体。比如找对象,这个对象在你心中早就有特定的要求,那么这样的一个对象肯定是有确定属性的对象。是单个的,唯一的,识别的实体。

那么由于成员变量的值不同,方法调用的结果不同。

所以对象是构建系统的基石。
它包括:<1>标识也就是引用名
             <2>数据
             <3>方法

什么是Class,它是对对象的定义。对于在某一个环境下的对于对象关心属性的提取和抽象。

====================================

面向对象编程的特点

1抽象,就是一个提炼过程
2封装,隐藏细节(属性和私有方法)
3继承,上下层次
4多态
--------------------------------------------
5,关联,对象的依赖程度
6,聚合
7,组合
8,内聚&耦合

1,抽象的目的,主要是隐藏细节,可以简化信息,看到显著特征。
2,封装的目的,隐藏数据和行为,
      
                  注意,类有两个视图,对外视图(别人使用此类,不关心实现)
                                                         内视图(自己拿着代码,要知道实现)

3,关联
            一个类型使用其他类型对象的服务。
4,聚合
            一种强关联,一个是另外一个的组成部分,而不是必要部分。
            一个汽车和一个音响。
5,组合
            一个对象包含另外一个对象
            一个是另外一个组成部分
            大的东西决定着组成部分的生命周期

6,继承,是一种实现代码复用的手段,语言的特性。另外一种代码复用的方式就是组合。

      减少代码量,维护方便。


组件的开发

在开发过程中,要遵循高内聚,低耦合的规律。

组件内部要相互的调用,来统一对外实现一个功能,而外界为实现这个功能,基本不需要再做什么,那么这个组件的重用性,就愈高。依赖于别人的越少,那么组件的复用价值也就愈高。


多态

有统一的接口,而行为有它的子类型的行为确定。

运行时多态,就是子类型重写了父类型virtual方法。

能使用编译时多态就是用编译时多态。

================

所以可以将上面的几个特点按类别分类,比如,单个类型、类型之间、层次结构、编程规则。







你可能感兴趣的:(OOAD 面向对象设计与分析)