面向对象系统分析与设计,让你真正了解什么是面向对象(傻瓜式讲解)
面向对象是所有的核心,小编通过拆解,举例,概念化分析和讲解让任何人都能轻松了解面向对象。
首先我们以一张图来归纳一下面向对象的知识
通过上图我们来分析它的面向对象知识:
继承:继承自拖拉机,实现了扫地的接口。
封装:无需知道如何运作,开动即可。
多态:平时扫地,天热当风扇。
多线程:多个扫把同时工作。
低耦合:扫把可以换成拖把。
组件编程:每个配件都是可以单独利用的工具。
下面以概念解析面向对象
一、什么是对象
你的小女朋友是你的对象,你的小男朋友也是你的对象(男男女女也成立(会心一笑))。哲学一点来说,万物皆对象,来记笔记,只要是客观存在的事物都是对象。
二、什么是类
举个简单的例子:
梗叔我经常看到某某大学表白墙找对象的公告上写到这些条件“170cm以上的女生、学习好、会做饭、打篮球...”。
那么正巧一个名叫石榴姐的女孩说具备这个条件,而石榴姐是客观存在的事物,她就是对象(Object)。
而这些条件可以理解为类(Class),类是确定对象讲会拥有的特征(属性)和行为(方法),它
不是具体客观存在的东西。
三、对象的属性
对象的属性就是对象具备的各种特征,每个对象的每个属性都具有特定的值。
说人话就是那石榴姐这个对象来说她的属性是“性别 = 女;身高 = 180cm ”这就是对象的属性。
四、对象的方法
对象的方法就是对象执行的操作,也就是说对象能干什么?这就称为方法。
比如石榴姐他的方法就是“学习、做饭、打篮球”。
面向对象和面向过程的区别:
1.面向对象是将实物高度抽象化
2.面向过程是一种自顶向下的编程。
3.而面向对象是自下先建立抽象模型然后再使用模
型
以上是对面向对象的概念解析,下面来详细了解一下面向对象的特性
一、什么是对象
图1 类的构成
1、是由数据及其操作所构成的封装体。
2、包含三个基本要素,分别是对象标识、对象状态和对象行为。
3、是系统中用来描述客观事物的一个模块,是构成系统的基本单位。
4、是由一组属性和对这组属性进行的操作构成的。
例:以上图为例,张三是教师这个类实例化后的一个对象,教师是封装的类,授课是成员方法,姓名、性别、年龄、职位是成员属性。
二、什么是类
1、现实世界中实体的形式化描述。
2、将该实体的属性(数据)和操作(函数)封装在一起。
类和对象的关系可理解为:对象是类的实例,类是对象的模版。如果将对象比作房子,那么类就是房子的设计图纸。
三、抽象
通过特定的实例抽取共同特征后形成概念的过程,对象是现实世界中某个实体的抽象,类是一组对象的抽象。
四、封装
1、将相关的概念组成一个单元,然后通过一个名称来引用它。
2、将数据和基于数据的操作封装成一个整体对象,对数据的访问或修改只能通过对象对外提供的接口进行。
五、继承
类的继承图
1、表示类之间的层次关系,又可分为单继承和多继承。
2、继承自父类的属性特征,不需要在子类中进行重复说明。
六、多态
多态
1、使得在多个类中可以定义同一个操作或属性名,并在每一个类中可以有不同的实现。
2、使得某个属性或操作在不同的时期可以表示不同类的对象特性。
3、意味着一个对象有着多重特征,可以在特定的情况下,表现不同的状态,从而对应着不同的属性和方法。
七、接口
描述对操作规范对说明,其只说明操作应该做什么,并定义操作如何做。
八、消息
体现对象间的交互,通过它向目标对象发送操作请求。
九、组件
1、表示软件系统可替换的、物理的组成部分,封装了模块功能的实现。
2、应当是内聚的,并具有相对稳定的公开接口。
十、模式
1、描述了一个不断重复发生的问题,以及该问题的解决方案。
2、包括特定环境、问题和解决方案三个组成部分。
十一、复用
将已有的软件及其有效成分用于构造新的软件或系统。
面向对象系统分析与设计,让你真正了解什么是面向对象(傻瓜式讲解)相关推荐
- UML面向对象系统分析和设计:交互图
UML面向对象系统分析和设计 1. 概述(交互图) 交互图是用来表达系统的各个对象之间如何交互,如何完成某个行为的动态模型工具.主要用于对用例图中的控制流进行建模.一般要求每个用例使用一个交互图进行描 ...
- UML2面向对象分析与设计 -- 面向对象思维(概念、面向对象技术的发展历史、对象和类、面向对象技术的相关原则:抽象 封装 分解 泛化 多态 分层 复用)
文章目录 1. UML2面向对象分析与设计 学习目标 2. 面向对象思维 2.1 学习目标 2.2 什么是面向对象 2.3 面向对象技术的发展历史 2.4 面向对象技术的优势 2.4.1 便于沟通:在 ...
- 信息系统分析与设计杨选辉_信息系统分析与设计
spContent=本课程按照传统的结构化开发方法由浅入深.完整地介绍了信息系统的设计与开发的全过程:还着重介绍了当前最为流行的面向对象的信息系统分析与设计方法. 课程精选了开发过程中最基本.最实用的 ...
- 信息系统分析与设计杨选辉_信息系统分析与设计(第2版)
Contents第1章信息系统导论1 1.1信息1 1.1.1信息的概念1 1.1.2信息的特性2 1.1.3信息的分类3 1.1.4信息与决策3 1.2系统5 1.2.1系统的概念5 1.2.2系统 ...
- UML系统分析与设计01-准备
http://www.cnblogs.com/showjan/archive/2012/05/14/2499713.html UML,统一建模语言,在软件系统分析和设计中被广泛应用.作为一个初学者,我 ...
- OOAD 面向对象分析与设计
OOAD 面向对象分析与设计2007年06月16日 星期六 下午 04:38OOAD(Object Orient Analysis & Design,面向对象的分析和设计,面向对象分析与设计) ...
- 面向对象的关系数据库设计
面向对象的关系数据库设计 一.概念的区分 有些人把面向对象的数据库设计(即数据库模式)思想与面向对象数据库管理系统(OODBMS) 理论混为一谈.其实前者是数据库用户定义数据库模式的思路,后者是数据库 ...
- 系统分析与设计 复习
文章目录 系统分析与设计 复习 第 1 章 系统分析与设计概述 系统特性 DevOps 第 2 章 系统规划 **系统规划步骤** 规划模型 诺兰模型 **CMM 模型** 系统规划方法 战略集合转换 ...
- [架构之路-177]-《软考-系统分析师》-17-嵌入式系统分析与设计 -2- 系统分析与设计、低功耗设计
目录 1 7 . 4 嵌 入 式 系 统 开 发 17.4.1 开发平台 1 . 交叉开发环境 2 . 交叉编译环境 17. 2 开发流程 1. 过程模型 2 . 分析与设计方法 17.4.3 软硬件 ...
最新文章
- XP/Vista 彻底休矣!Firefox 浏览器放弃支持
- 转一篇关于滑动窗口的讲解,挺详细的
- WeihanLi.Npoi 1.10.0 更新日志
- YBROJ洛谷P3211:XOR和路径(线性基,期望dp)
- python属于哪类型的编程语言_Python是什么类型的编程语言,有什么特性
- 【52.55%】【BZOJ 4520】K远点对
- Node.js的集群功能以及在Express的配置
- java程序单词薄课程设计,Java程序设计课程设计
- 微信公众号号开发小记(六)使用开源框架开发
- java上传图片裁剪_上传图像之裁剪
- 【已解决】瞎设置代理服务器后IE浏览器上不了网
- 30个响应式大背景网页设计欣赏
- 赛灵思 Xilinx Versal 自适应计算加速平台嵌入式设计教程
- securecrt 远程映射端口
- 龙芯1c300b开发语言,龙芯 1C0300B 主控芯片已成功进入激光打印机市场
- Ubuntu SSE指令集 编程实例---复数乘法与共轭乘法
- Linux系统之进入单用户模式的方法及相关作用
- Mac彻底删除mysql,重新安装mysql,修改mysql用户权限
- mac Axure RP 8 授权码 以及汉化
- 大数据:Shell的操作(2)
热门文章
- mysql mof提权原理_mof提权原理及实现
- SMART S7-200PLC流量累计算法实现(梯形图算法详解+优化)
- 马斯克:超级富豪税要是2008年就存在 特斯拉、SpaceX早就破产了
- 智能问答机器人python_智能问答机器人
- PDA手持移动POS销售开单软件(网络版)、PDA手持设备小票机
- Linux测试moxa串口,Moxa NPort 简易安装测试向导—Secure Terminal
- 致经典初选的60首备选篇目_致经典双语朗诵篇目中英
- 抢占先机 为何说区块链通证经济象征未来?
- 服务器端运行pkpm,pkpm网络版安装步骤与pkpm相关参数
- 如何对扫描文件进行编辑