UML总结之——UML技术
2016-12-14 12:11
134 查看
一、前言
上次对UML进行了一个较为宏观的了解知道了UML的基本构造块,今天我们就将对UML进行更加详细的了解——UML技术二、提纲
以下就是本次总结的内容提纲一、面向对象技术的基本原则
二、面向对象技术的基本概
三、举例
四、面向对象技术的发展历史
五、面向对象程序设计语言
三、内容
(一)、面向对象技术的基本原则抽象:抽象是从众多的事物中抽取出共同的、本质性的特征,而舍弃其非本质的特征。例如苹果、香蕉、生梨、葡萄、桃子等,它们共同的特性就是水果。得出水果概念的过程,就是一个抽象的过程。
封装:封装就是把对象的属性和服务结合成一个独立系统单位,并尽可能隐蔽对象的内部细节。
模块性:模块化就是根据系统的功能分为不同的功能块儿。如一个订餐系统我们可以分为:
层次性:由多个次抽象的在一起找寻共同的特点再次抽象出一个更高层次的抽象,既抽象程度由高到低逐渐上升,在这个过程中更高层次的抽象都是建立在其它次抽象的基础之上的如图:
对于面向对象的基本原则还有一种新的观点认为有五大基本原则分别是:
单一职责、开放封闭原则、里氏替换原则、依赖倒置原则和接口隔离原则。对于这一种观点一下为链接地址大家可以细细揣摩:
http://www.cnblogs.com/seacryfly/archive/2011/12/29/seacryfly.html
(二)、面向对象技术的基本概念包括如下8部分(对象、类、属性、操作、接口、组件、包、子系统、关系)其中:
1)对象:对象可以是任何东西无论是现实的还是虚拟的都可以作为对象,他通过状态、行为和标识来描述一个事物,其中对象的状态是可变的,对象的行为反应了一个对象是如何响应其他对象的
2)类:类是一组具有相同属性、行为、关系和语义的对象的描述,是具有相同属性的对象,是个抽象的概念,和对象不同的是日常生活中的东西都是对象,是类的实例化,如:公交车是汽车的实例化,姚明是人的实例化。
3)属性:用来描述具体某个对象的特征的是属性,是静态的。比如:姚明身高2.6米多
(三)、对象之间的关系(在后期的总结中将着重进行)
关联关系(Association):描述了两个或多个类之间的结构性关系
依赖关系(Dependency):
泛化关系(Generalization):泛化是种特殊/一般关系,特殊元素《子元素》的对象替代一般元素(父元素)的对象。用这种方法,子元素共享了父元素的结构和行为。
实现关系(RealiZation):实现是类元之间的语义关系,在该关系中一个类元描述了另一个类元保证实现的契约。
面向对象语言的特点
继承性:方便代码的重用,减少编码量,间接减少维护成本。
封装性:将功能封装成一个个独立的单元,减少耦合,避免牵一发而动全身,方便对程序的修改。
多态性:不同场合做出不同相应,可以说是封装的一个实现。多态性语言具有灵活,抽象,行为共享,代码共享的优势,可以解决应用程序的函数重名问题。
(四)、面向对象技术的发展历史分三个阶段
1、 雏形阶段:1967年挪威计算中心的Kisten Nygaard和Ole Johan Dahl开发了Simula67语言,首先引入了类的概念和继承机制,它是面向对象的先驱。1972年Palo Alno研究中心(PARC)发布了Smalltalk-72,其中正式使用了“面向对象”这个术语。Smalltakl的问世标志着面向对象程序设计方法的正式形成。
2、 完善阶段:PARC先后发布了Smalltalk-72、76和78等版本,直至1981年推出该语言完善的版本Smalltalk-80。Smalltalk-80的问世被认为是面向对象语言发展史上最重要的里程碑。迄今绝大部分面向对象的基本概念及其支持机制在Smalltalk-80中都已具备。它是第一个完善的、能够实际应用的面向对象语言。
3、 繁荣阶段:从20世纪80年代中期到90年代,是面向对象语言走向繁荣的阶段。其主要表现是大批比较实用的面向对象编程语言的涌现,例如C++、Objective-C、Object Pascal、CLOS、Eiffel和Actor等。这些面向对象的编程语言分为纯OO型语言和混合型OO语言。混合型语言是在传统的过程式语言基础上增加了OO语言成分形成的,在实用性方面具有更大的优势。此时的纯OO型语言也比较重视实用性。现在,在面向对象编程方面,普遍采用语言、类库和可视化编程环境相结合的方式,如Visual C++、JBuilder和Delphi等。面向对象方法也从编程发展到设计、分析,进而发展到整个软件生命周期。
(五)、面向对象的程序设计语言
面向对象的程序设计语言有: C++、Objective-C、java语言、C#、smalltalk、EIFFEL、python等
四、总结
这是对UML知识的较为细致的总结,其中的一些概念是较为抽象需要细细的揣摩。相关文章推荐
- 智能客户端技术总结(一)
- ASP操作Excel技术总结
- [非技术]新年总结贴
- 轮滑技术要领总结
- 几点有关Web Services的技术学习总结
- xml/Java技术实现工具总结
- ASP操作Excel技术总结
- ASP操作Excel技术总结(轉)
- ASP操作Excel技术总结
- ASP操作Excel技术总结
- 智能客户端技术总结(二)
- ASP操作Excel技术总结
- 中国CMS内容管理系统技术分析总结
- 《UML Programming Guide设计核心技术》 读书笔记一
- 对主流技术的分析和总结
- ASP操作Excel技术总结
- 智能客户端技术总结(二)
- 项目技术经验总结一:asp.net+oracle部署,防火墙端口开设
- ASP操作Excel技术总结
- [黑客技术]提权总结21种办法篇