面向对象是所有的核心,小编通过拆解,举例,概念化分析和讲解让任何人都能轻松了解面向对象。

首先我们以一张图来归纳一下面向对象的知识

通过上图我们来分析它的面向对象知识:

继承:继承自拖拉机,实现了扫地的接口。

封装:无需知道如何运作,开动即可。

多态:平时扫地,天热当风扇。

多线程:多个扫把同时工作。

低耦合:扫把可以换成拖把。

组件编程:每个配件都是可以单独利用的工具。

下面以概念解析面向对象

一、什么是对象

你的小女朋友是你的对象,你的小男朋友也是你的对象(男男女女也成立(会心一笑))。哲学一点来说,万物皆对象,来记笔记,只要是客观存在的事物都是对象。

二、什么是类

举个简单的例子:

梗叔我经常看到某某大学表白墙找对象的公告上写到这些条件“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、包括特定环境、问题和解决方案三个组成部分。

十一、复用

将已有的软件及其有效成分用于构造新的软件或系统。

面向对象系统分析与设计,让你真正了解什么是面向对象(傻瓜式讲解)相关推荐

  1. UML面向对象系统分析和设计:交互图

    UML面向对象系统分析和设计 1. 概述(交互图) 交互图是用来表达系统的各个对象之间如何交互,如何完成某个行为的动态模型工具.主要用于对用例图中的控制流进行建模.一般要求每个用例使用一个交互图进行描 ...

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

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

  3. 信息系统分析与设计杨选辉_信息系统分析与设计

    spContent=本课程按照传统的结构化开发方法由浅入深.完整地介绍了信息系统的设计与开发的全过程:还着重介绍了当前最为流行的面向对象的信息系统分析与设计方法. 课程精选了开发过程中最基本.最实用的 ...

  4. 信息系统分析与设计杨选辉_信息系统分析与设计(第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系统 ...

  5. UML系统分析与设计01-准备

    http://www.cnblogs.com/showjan/archive/2012/05/14/2499713.html UML,统一建模语言,在软件系统分析和设计中被广泛应用.作为一个初学者,我 ...

  6. OOAD 面向对象分析与设计

    OOAD 面向对象分析与设计2007年06月16日 星期六 下午 04:38OOAD(Object Orient Analysis & Design,面向对象的分析和设计,面向对象分析与设计) ...

  7. 面向对象的关系数据库设计

    面向对象的关系数据库设计 一.概念的区分 有些人把面向对象的数据库设计(即数据库模式)思想与面向对象数据库管理系统(OODBMS) 理论混为一谈.其实前者是数据库用户定义数据库模式的思路,后者是数据库 ...

  8. 系统分析与设计 复习

    文章目录 系统分析与设计 复习 第 1 章 系统分析与设计概述 系统特性 DevOps 第 2 章 系统规划 **系统规划步骤** 规划模型 诺兰模型 **CMM 模型** 系统规划方法 战略集合转换 ...

  9. [架构之路-177]-《软考-系统分析师》-17-嵌入式系统分析与设计 -2- 系统分析与设计、低功耗设计

    目录 1 7 . 4 嵌 入 式 系 统 开 发 17.4.1 开发平台 1 . 交叉开发环境 2 . 交叉编译环境 17. 2 开发流程 1. 过程模型 2 . 分析与设计方法 17.4.3 软硬件 ...

最新文章

  1. XP/Vista 彻底休矣!Firefox 浏览器放弃支持
  2. 转一篇关于滑动窗口的讲解,挺详细的
  3. WeihanLi.Npoi 1.10.0 更新日志
  4. YBROJ洛谷P3211:XOR和路径(线性基,期望dp)
  5. python属于哪类型的编程语言_Python是什么类型的编程语言,有什么特性
  6. 【52.55%】【BZOJ 4520】K远点对
  7. Node.js的集群功能以及在Express的配置
  8. java程序单词薄课程设计,Java程序设计课程设计
  9. 微信公众号号开发小记(六)使用开源框架开发
  10. java上传图片裁剪_上传图像之裁剪
  11. 【已解决】瞎设置代理服务器后IE浏览器上不了网
  12. 30个响应式大背景网页设计欣赏
  13. 赛灵思 Xilinx Versal 自适应计算加速平台嵌入式设计教程
  14. securecrt 远程映射端口
  15. 龙芯1c300b开发语言,龙芯 1C0300B 主控芯片已成功进入激光打印机市场
  16. Ubuntu SSE指令集 编程实例---复数乘法与共轭乘法
  17. Linux系统之进入单用户模式的方法及相关作用
  18. Mac彻底删除mysql,重新安装mysql,修改mysql用户权限
  19. mac Axure RP 8 授权码 以及汉化
  20. 大数据:Shell的操作(2)

热门文章

  1. mysql mof提权原理_mof提权原理及实现
  2. SMART S7-200PLC流量累计算法实现(梯形图算法详解+优化)
  3. 马斯克:超级富豪税要是2008年就存在 特斯拉、SpaceX早就破产了
  4. 智能问答机器人python_智能问答机器人
  5. PDA手持移动POS销售开单软件(网络版)、PDA手持设备小票机
  6. Linux测试moxa串口,Moxa NPort 简易安装测试向导—Secure Terminal
  7. 致经典初选的60首备选篇目_致经典双语朗诵篇目中英
  8. 抢占先机 为何说区块链通证经济象征未来?
  9. 服务器端运行pkpm,pkpm网络版安装步骤与pkpm相关参数
  10. 如何对扫描文件进行编辑