1.面向对象技术的基本原则

.抽象
.封装
.模块性
.层次性

2.面向对象技术的基本概念

对象:
——物理实体
——软件实体
——概念实体

1)对象描述一个事物:

——状态
——行为
——标识
类:
一个对象是对一个类的实例
类是对一组具有相同属性行为关系和语义的对象的描述
类的属性(静态信息)
类的行为(动态信息)
属性:
描述了类的静态信息
操作:
描述了类的动态信息
多态:接口的多种不同实现方式就是多态,同一操作作用于不同对象,可以有不同的结实,产生不同的执行结果,在运行时可以通过指向基类的指针,来调用实现派生类中的方法
接口:
《interface》接口与类的区别:接口只提供一个抽象的方法而不能实现方法。
组件:
——源程序
——运行时的动态库
——可执行程序
子系统:
《subsystem》
关系:
对象间的关系
1.关联  
1)整体——部分关系
——聚合关系

——组合关系

依赖关系:

——using使用
泛化关系:
——单重继承
——多重继承

小结

最后说一下,关于面向对象和面向过程的不同:

1)面向过程:

首先我们来认识下,什么是面向过程?如果咬文嚼字的话可以这样来理解,面向过程就是面向解决问题的过程进行编程。仔细思考一下,我们在学习和工作中,当我们去实现某项功能或完成某项任务时,是不是会不自觉的按部就班的罗列出我们要做的事情?(如果没有,建议以后试着步骤化解决问题)。而当我们按着我们罗列的步骤去解决问题时,实质上就是按照面向过程的思想去解决问题。我们罗列的步骤就是过程,按照步骤解决问题就是面向过程。

实现步骤:

  1. 将要实现的功能描述为一个从开始到结束按部就班的连续的步骤(过程);

  2. 依次逐步完成这些步骤,如果某一步的难度较大,又可以将该步骤再次细化为若干个子步骤,以此类推,一直到结束得到想要的结果;

  3. 程序的主体是函数,一个函数就是一个封装起来的模块,可以实现一定的功能,各个子步骤往往就是通过各个函数来完成的,从而实现代码的重用和模块化编程!

2)面向对象:

所谓的面向对象,就是在编程的时候尽可能的去模拟真实的现实世界,按照现实世界中的逻辑去处理一个问题,分析问题中参与其中的有哪些实体,这些实体应该有什么属性和方法,我们如何通过调用这些实体的属性和方法去解决问题。

实现步骤:

  1. 分析哪些动作是由哪些实体发出的;

  2. 定义这些实体,为其增加相应的属性和功能;

  3. 让实体去执行相应的功能或动作。

UML基础——面向对象技术相关推荐

  1. UML2面向对象分析与设计 -- 面向对象思维(概念、面向对象技术的发展历史、对象和类、面向对象技术的相关原则:抽象 封装 分解 泛化 多态 分层 复用)

    文章目录 1. UML2面向对象分析与设计 学习目标 2. 面向对象思维 2.1 学习目标 2.2 什么是面向对象 2.3 面向对象技术的发展历史 2.4 面向对象技术的优势 2.4.1 便于沟通:在 ...

  2. UML——概述(什么是UML?UML有什么作用?面向对象技术)

    目录 什么是UML? UML能帮我们做什么? 什么是建模? 为什么要建模? 为什么要可视化建模? 建模的原理(原则) UML的基本构造块 UMl中事物有哪些? 面向对象技术 什么是UML? (Unif ...

  3. 编程学习笔记(第三篇)面向对象技术高级课程:绪论-软件开发方法的演化与最新趋势(3)软件开发的现状、UML扩展...

    一.软件开发的现状 软件领域正在发生一个巨变,特别是近几年来,软件领域正在发生翻天覆地的变化. 这一变化主要以这个云 + 端大数据, 这些是随着目前最先进的一些技术的产生而产生的. 随着这些新的技术以 ...

  4. 例解基于UML的面向对象分析与设计

    摘要 本文以实例的方式,展示了如何使用UML进行面向对象的分析与设计.本文将假设读者对UML.面向对象等领域的基本内容已了然于胸,所以将不会过多阐述,而将重点放在应用过程上.本文的目的是通过一个完整的 ...

  5. 基于UML的面向对象分析与设计

    来源:http://www.uml.org.cn/mxdx/200901071.asp 2009-01-07 来源:cnblogs   摘要 本文以实例的方式,展示了如果使用UML进行面向对象的分析与 ...

  6. 第7章 面向对象技术

    目录 面向对象基础 面向对象的设计原则 面向对象分析 面向对象设计 面向对象程序设计 面向对象测试. UML 事物 关系 图 类图(Class Diagram) 对象图(Object Diagram) ...

  7. Java 基础 - 面向对象(不错N多教程集合)

    著作权归https://pdai.tech所有. 链接:Java 基础 - 面向对象 | Java 全栈知识体系 本文主要介绍Java OOP 面向对象基础和相关类图.@pdai Java 基础 - ...

  8. 编程学习笔记(第一篇)面向对象技术高级课程:绪论-软件开发方法的演化与最新趋势(1)...

    软件工程的课程,对于从事大中型的软件开发是至关重要的一门课程. <面向对象技术高级课程>深入.系统.完整地讲解当今主流的面向对象软件开发方法的分析.设计.实现及重构方法,深入讲解UML语言 ...

  9. UML基础与应用系列文章汇总

            统一建模语言(UML是 Unified Modeling Language的缩写)是用来对软件密集系统进行可视化建模的一种语言.UML为面向对象开发系统的产品进行说明.可视化.和编制文 ...

最新文章

  1. 对付感冒的十二种偏方
  2. wince中对ini文件的操作
  3. checkStyle -- 代码风格一致
  4. C# 取电信公网IP并发送邮件
  5. 【王道考研计算机网络】—分层结构 协议 接口 服务
  6. 2018北科大计算机学院复试方案,2018年北京交通大学考研复试及录取办法
  7. mysql查找有小数点的数据_MySQL中查询中位数?
  8. Javascript高级程序设计读书笔记(第三章)
  9. 首届全国大学生工程训练综合能力竞赛圆满落幕
  10. NYOJ 表达式求最值305
  11. python怎么过滤停用词_第6天:文本处理流程——停用词的过滤、正则化操作
  12. 日常生活记账的账本你知道吗
  13. 解决-win10软件默认安装路径为C盘——修改注册表
  14. php中关于qq第三方登录
  15. 转]自己开心一下!!!很轻松的~
  16. VOLTE_SRVCC和ESRVCC
  17. 一组Android机器人素材图片
  18. 2022淘宝天猫京东双十一交易额有多少?双11交易的数据
  19. 文本生成的几种简单方法
  20. 马来西亚理科大学计算机专业雅思,马来西亚理科大学本科雅思成绩要求

热门文章

  1. (产品资源)mdyGpioAd9248Tlv5638模块
  2. java对视频进行截图
  3. 正厚知识 | 你被关在信息茧房中吗?
  4. chrome无法登录同步问题
  5. a76比a73强多少_OPPOA73和vivoY75哪个好 OPPOA73和vivoY75对比
  6. 80后男人口述娶妻20条标准
  7. [VCAP5] VCAP5-DCA DCD学习资料汇总 存储(VDCA510为主)
  8. ANSYS安装中出现的问题(修改用户名为英文)
  9. 集电极开路输出、开漏输出、推挽输出
  10. Codeforces-Round-883-Div-3