软件工程之面向对象

    总结的时候我是按照章节总结的,但是没有把这章总结进去, 因为面向对象非常重要,从学vb开始我们就开始听说面向对象这个词,后来面向过程的c语言,面向对象的C++,包括我们以后要学的java也是面向对象的,所以我感觉有必要单独拿出来总结一下。对于传统的也就是C语言是面向过程的,针对的是模块,而现在针对的是对象,那么什么是面向对象呢?

    1、面向对象:

    Coad和Yourdon给出的一个定义:“面向对象=对象+类+继承+通信”(不同类型的书定义是不一样的,例如C++中和java中和软件工程中定义的就不一样)

    (1)对象:从现实的世界出发,客观存在的事物都是对象,系统中用来描述客观事物的实体,构成系统的基本单位,一个对象有一组属性和这组属性进行操作的一组方法组成,任何事物都可以称作对象。

         操作:又称为方法或服务,它描述了对象执行的功能,若通过消息传递,还可以为其它对象使用

         消息:消息是一个对象与另一个对象的通信单元,是要求某个对象执行类中定义的某个操作的规格说明

         消息包含的信息:提供服务对象的标识,输入信息和回答信息的标识,一个对象对另一个对象的请求

    (2)类:是一组具有相同结构数据和相同操作的对象的集合

    一个类所有的对象基本属性是一样的,类的基本元素是对象,类可以像对象一样定义,他的定义包括一组数据属性,和以及施加在这种属性的操作,类实际可以看做具有类似特性的与共同行为的对象的模板,可以用这个模板产生对象,把具有相同特征和行为的对象归结为一起型成了类,类是某些对象的模板,他抽象描述了属于该类的全部对象的属性和操作,类的定义所有对象都遵循类

    类中的对象叫做类的实例,都可以使用类中提供的函数,类中的定义:类是具有相同属性和服务的一组对象的集合,他为属于该类的全部对象提供了统一的抽象描述,内部包括属性和服务两个主要的部分,类和对象什么关系    好比一个磨具,类是磨具,对象是铸造出来的部件,类叫对象的模板,实例就是最现实的事情,每个对象有自己的存储空间,类中有一般类和特殊类,汽车是一般类,卡车 轿车,特殊类,特殊类有的属性,一般类肯定有

    (3)继承:使用已存在的定义作为基础建立新定义的技术

原来已经有类的声明, 寄存类可以当做基类来引用, 派生类,如果某几个类有共同的部分,抽取出来,作为一个一般类,剩下把剩下的类称为特殊的类, 一般类叫基类,或者父类,直接可以使用基类的,继承比较准确的定义,可以是提高软件效率的原因,特殊类的对象拥有其一般类的全部属性和服务,就称作特殊类对一般类的继承, 特殊类不必重新定义,可以是多继承,也可以是单继承,重要意义:简化认识和描述,轮船是一般类,游轮是特殊类,客轮具有轮船的全部属性,只描述客轮就好了

              ps:一定要看看例子,因为明白的那一刹那很可能就是从例子当中明白的


              2、对象模型化技术OMT(软工知识)

     定义:对象模型化技术把分析时收集的信息够高在三类模型中,即对象模型功能模型动态模型

   软件工程之面向对象_第1张图片

     这个模型化的过程是一个迭代的过程

                对象模型:三个模型中最关键的一个模型,作用是描述系统的静态结构,包括构成系统的类和对象,他们的属性和操作,及他们之间的关系,在OMT中,类与类之间的关系叫做关联

      动态模型:着重于系统的控制逻辑。包括两个图,一是状态图,一是时间追踪图

      功能模型:由多个数据流图组成,指明从外部输入,通过操作和内部存储,知道外部输出,这整个的数据流情况。

      基于三个模型的分析过程

       功能模型定义:做什么

       动态模型定义:何时做

       对象模型定义:对谁做

  ps:就是用来对系统建模的。

 

    

你可能感兴趣的:(软件工程之面向对象)