1.
假如你去洗澡,你可能是这么考虑的,首先进入浴室,然后打开水龙头冲洗,

最后用浴巾擦干身子,等等一系列过程,叫做面向过程。你用面向过程解决了洗澡这个问题。

那么看面向对象是如何思考的,你是一个对象,浴室、水龙头浴巾等也是对象,

你首先发送消息给浴室,传递力的参数给浴室的门,OK,门打开了,你然后再传递消息给水龙头,

水龙头响应消息,放水,最后你发送消息给浴巾,浴巾调用吸水的方法帮你擦干了身子。OK,

你用面向对象的思想完成了洗澡这个问题。

2.
在一些简单的逻辑上,确实是面向过程更加简单一点,但是当你面对是一系列复杂的模块和功能的时候,

各司其职的面向对象思想变会将很多复杂的逻辑简单化。

举一个这样的例子,想象这样一个场景,你的面前有无数根纠缠在一起的管子,这些管子的用途各不一

样,面向过程的思想,就是你需要亲自的把管子的头和尾搞清楚,以对应上相应的功能;而面向对象的

思想,则是让这些管子自己从管子的头部输入,尾部输出,而不需要编程者自己了解所有的管子的作用.

如果是只有一个管子的话,面向过程是很简单的,面向对象则需要做很多前期处理才能达到目的。

所以面向对象和面向过程其实没有简单的优劣之分,只是适用场合的区别。

3.
来让我用最通俗的话来告诉你!为什么要发明面向对象编程?
                 
原因很简单,就是为了适应变化,我们的编程祖先们曾经在开发大型项目时,在改需求的时候自杀了好几批人

你拿着自己开发游戏,每做一步就想,这里假如产生了变化会怎样,这里假如要添加个功能会不会很麻烦?

为了解决这些问题,所以就有了面向对象思想:封装,继承,多态;
 
其实用了那么多抽象的东西,为的就是解决一个问题,项目要能做到轻松变化。今天三角形,明天正方形,后天,菱形

面向对象思想的三种通俗解释相关推荐

  1. php面向对象有哪三种访问控制模式,第三节 访问控制的实现

    第三节 访问控制的实现 面向对象的三大特性(封装.继承.多态),其中封装是一个非常重要的特性.封装隐藏了对象内部的细节和实现,使对象能够集中而完整的描述并对应一个具体的事物,只提供对外的访问接口,这样 ...

  2. Data Guard 三种模式解释

    Data Guard 保护模式(Data Guard Protection Modes) 对于 Data Guard 而言,其生存逻辑非常简单,由于它提供了三种数据保护的模式,我们又亲切的叫它:有三模 ...

  3. 西门子PLC 冷启动、暖启动、热启动的一种通俗解释

    不知道是不是翻译问题,在查阅官方文档的过程中,遇到了一些表述含义接近的名词,个人认为这是对同一个单词的几种不同翻译,因此在文章中,将这几种名词进行合并,只给出了最贴切的名词. 1 S7-CPU 操作模 ...

  4. 【Java面向对象编程——喂养三种宠物】

    文章目录 (一)编程实现 1.创建动物类 2.继承动物类,创建猫类 3.继承动物类,创建狗类 4.继承动物类,创建鸟类 5.创建学生类 6.创建测试学生类 7.运行程序,查看结果 (二)知识点讲解 动 ...

  5. 在java中三种编程思想(OOA,OOD,OOP)

    在java中三种编程思想:OOA,OOD,OOP OOA 一.OOA的主要原则. 二.面向对象分析产生三种分析模型 三.OOA的主要优点 四.OOA方法的基本步骤 OOD 一.OOD背景知识 二.OO ...

  6. 算法--三种方法求连续子数组的最大和

    这是一道考的烂的不能再烂的题目,但是依然有很多公司乐于将这样的题目作为笔试或面试题,足见其经典. 题目描述: 输入一个整形数组,数组里有正数也有负数. 数组中连续的一个或多个整数组成一个子数组,每个子 ...

  7. 对于二叉树三种非递归遍历方式的理解

    利用栈实现二叉树的先序,中序,后序遍历的非递归操作 栈是一种先进后出的数据结构,其本质应是记录作用,支撑回溯(即按原路线返回):因此,基于其的二叉树遍历操作深刻的体现了其特性: 若后续的输入和其前面的 ...

  8. 数据分布策略_有效数据项目的三种策略

    数据分布策略 Many data science projects do not go into production, why is that? There is no doubt in my mi ...

  9. Java面向对象思想、类的定义、对象的使用、对象内存图、成员变量和局部变量的区别、封装、private关键字、this关键字、构造方法、JavaBean-day06

    目录 第1节 面向对象思想 1.1 面向对象思想概述 概述 举例 特点 1.2 类和对象 什么是对象 类与对象的关系 1.3 类的定义 事物与类的对比 类的定义格式 1.4 对象的使用 对象的使用格式 ...

最新文章

  1. Spark最新的两大研发方向深度学习和结构化流处理
  2. Oracle 11g Dataguard参数详解
  3. 新浪微博搜索php待遇,新浪微博面试
  4. 前端学习(1530):钩子函数--代码演示(面试重点)
  5. 【NOIp模拟】【二分答案】电缆老板
  6. No module named sqlite3解决
  7. dllregisterserver找不到入口点_厨房间漏水找不到漏水点,厨房上面漏水 | 影楼
  8. 华三 h3c 交换机链路聚合
  9. C语言实现数字串转数字
  10. Behavior Creator 行为树可视化编辑器
  11. python_day6_面向对象的介绍/构造函数/类变量和实例变量/析构函数/私有属性和私有方法/继承、多继承和继承实例/多态
  12. 1875.贝茜的报复
  13. Vue引入百度地图警告:A Parser-blocking, cross site (i.e. different eTLD+1) script....
  14. html5 i标签什么意思,快速了解HTML5 b和i标签
  15. 近视200度能学计算机吗,近视200度严重吗
  16. 《蜘蛛侠:平行宇宙》的视觉解析与滤镜实现
  17. 用auto.js写了一个抖音点赞、关注的脚本
  18. java p2p 技术可行性分析_Atitit JAVA p2p设计与总结  JXTA 2
  19. 关于/dev/null 和 /dev/zero文件详解以及误删/dev/null和/dev/zero的解决方法和利用/dev/zero进行磁盘IO测试方法
  20. Ae 效果详解:3D 摄像机跟踪器

热门文章

  1. 获取工作簿下所有工作簿内每个工作表数据汇总到指定工作表
  2. MATLAB数据处理和函数分析问题(金融相关)
  3. Kali系统如何开放ssh端口22
  4. 【八】固若金汤:网站的安全架构
  5. C++ 建造者模式(builder)
  6. 脑机接口减肥大法来了!自动减少暴饮暴食频率,无明显副作用|Nature子刊
  7. 【设计模式自习室】详解代理模式
  8. 最新版宝塔面板 | Windows安装以及项目部署教程
  9. 【电脑技巧】远程访问-注意设置关键步骤修改电源计划取消进入睡眠模式
  10. 了如指掌,纵揽全局--BSM网络拓扑助力网络运维