UML---面向对象技术
来源:互联网 发布:excel2013快速选择数据 编辑:程序博客网 时间:2024/05/18 11:26
前言:
UML的主要特点是统一的标准、面向对象、独立于过程和概念明确,这里再次提到了面向对象
面向对象:
面向对象的基本原则:
抽象:分析问题领域中的实体,把它抽象为对象。(关注相关的属性与功能)
封装:如一个电视。我们平时用它去看电视就好,不去探究电视内部的构造
模块性:将特定代码放到一个里面,每个模块都提供特定的功能,每个模块都是孤立的,甚至与其他模块完全独立。
层次性:系统一层层的分类
面向对象语言的特点:
继承性、封装性、多态性
面向对象的核心技术即是对象
下面就来谈谈对象
对象:object
范畴:
物理实体、概念实体、软件实体
特点:
1、万物皆对象 2、每个对象都是唯一的(来自真实世界事物的唯一性) 3、对象的状态:某个瞬间对象的各个属性的取值(即数据值)我觉得就像一个人,在这个瞬间,他的各个属性(胖瘦静动等等)4、对象的行为:改变对象的状态,对象及其操作就是对象的行为(这个人动了,这个动作就是他的行为)
面向对象技术中的对象就是现实世界中某个具体的物理实体在计算机逻辑中的映射和体现。
在uml中表示对象的表示方法:类名、类名和对象名、对象名
类(class):
定义:
从上图中,可以看出“麻雀、大雁、鸭子有相同的属性,都有羽毛,有相同的方法(行为),都会飞。所以鸟就是他们三个的类
即:类是由一组相同属性、行为、关系和语义的对象的描述。类提供了另一个创建对象的模板
类的表示有四种
(类名、属性、方法)(类名属性、方法(隐藏))、(类名、方法(属性隐藏))、(类名)
客观世界中存在的是对象,而不是类
属性:
是对象状态的抽象,所以是静态的
操作:
是对象行为的抽象
接口:
对象通过接口对外提供服务。比如:去买饭,需要从窗口买,那么这个窗口就是接口
多态:
每个对象以合适的方式去相应共同的消息。如:接到同一个任务,但是一个人站起来,一个人坐下
组件:
包含:源程序、运行时冬天链接库(.DLL)、可执行程序(.exe)
包:
对代码逻辑的划分
关系:
类与类直接的链接:一个火车包含多个引擎,是聚合(左)
一个引擎属于0个或者多个火车,是组合(右)
依赖:
类A 使用到了 类B 即using
泛化:
继承:孩子保留了父类的所有的属性和方法
多重:
孩子继承了爸爸和妈妈的
单重:
孩子只继承了爸爸或者妈妈的。二者选其一
实现:
类实现了接口的功能
【例子】
问题:求一个长方形的周长和面积。
以面向对象的程序设计方式思考:
1、一个长方形可以看成一个长方形对象。
2、一个长方形对象有两个状态(长和宽)和两个行为(求周长和求面积)。
3、将所有长方形的共性抽取出来,设计一个长方形类。
4、通过长方形对象的行为,就可以求出某个具体的长方形对象的周长和面积。
小结:
通过上面的例子,我们可以看到面向对象的好处:即使这个题中的长方形换了,但是依旧不影响我们前面的步骤。但是面向过程,则是牵一发而动全身。
- 【UML】面向对象技术
- 【UML】面向对象技术
- UML---面向对象技术
- UML-面向对象技术
- 【UML】面向对象技术
- uml学习--面向对象技术
- UML之面向对象技术
- 面向对象技术之UML[一]
- 面向对象技术之UML[二]
- 面向对象技术之UML[三]
- 面向对象技术之UML[四]
- UML笔记二:面向对象技术
- UML学习之面向对象技术
- UML——面向对象技术
- 【UML】概述以及面向对象技术总结
- UML之旅—面向对象技术
- 面向对象技术——UML基础
- UML基础——面向对象技术
- 每天一个linux命令(15):rmdir 命令
- c语言之栈存储区和全局区理解
- LeetCode Problem5 LongestPalindromicSubstring
- 字符串转整型并排序
- ubunut sublime text3 中文输入法问题
- UML---面向对象技术
- 算法 + 算法 = 新算法
- leetcode 14 Longest Common prefix
- 使用python实现身份证号码的规则校验
- android 修改RadioButton的drawTop图片大小
- a href=#与 a href=javascript:void(0) 的区别
- 1005. 继续(3n+1)猜想 (25)
- TypeScript学习-TypeScript数据类型简介
- hdu5494