面向对象(OOP)基本概念

面向对象编程 —— Object Oriented Programming 简写 OOP

目标

  • 了解 面向对象 基本概念

01. 面向对象基本概念

  • 我们之前学习的编程方式就是 面向过程 的
  • 面相过程 和 面相对象,是两种不同的 编程方式
  • 对比 面向过程 的特点,可以更好地了解什么是 面向对象

1.1 过程和函数(科普)

  • 过程 是早期的一个编程概念
  • 过程 类似于函数,只能执行,但是没有返回值
  • 函数 不仅能执行,还可以返回结果

1.2 面相过程 和 面相对象 基本概念

1) 面相过程 —— 怎么做

  1. 把完成某一个需求的 所有步骤 从头到尾 逐步实现
  2. 根据开发需求,将某些 功能独立 的代码 封装 成一个又一个 函数
  3. 最后完成的代码,就是顺序地调用 不同的函数

特点

  1. 注重 步骤与过程,不注重职责分工
  2. 如果需求复杂,代码会变得很复杂
  3. 开发复杂项目,没有固定的套路,开发难度很大!

2) 面向对象 —— 谁来做

相比较函数,面向对象 是 更大 的 封装,根据 职责 在 一个对象中 封装 多个方法

  1. 在完成某一个需求前,首先确定 职责 —— 要做的事情(方法)
  2. 根据 职责 确定不同的 对象,在 对象 内部封装不同的 方法(多个)
  3. 最后完成的代码,就是顺序地让 不同的对象 调用 不同的方法

特点

  1. 注重 对象和职责,不同的对象承担不同的职责
  2. 更加适合应对复杂的需求变化,是专门应对复杂项目开发,提供的固定套路
  3. 需要在面向过程基础上,再学习一些面向对象的语法

最新文章

  1. EZchip将推全球首款100核64位ARM A-53芯片
  2. eclipse将android项目生成apk并且给apk签名
  3. Net设计模式实例之原型模式( Prototype Pattern)
  4. android 之 adb 启动问题的一般解决办法
  5. 第1课 - 学习Lua的意义
  6. [HDU1004] Let the balloon rise - 让气球升起来
  7. 导入网页数据到 Google Sheet
  8. php的开发的apache的配置及伪静态的应用
  9. VM中centos设置子网内虚拟机ip
  10. (转)A Recipe for Training Neural Networks
  11. matlab-画个拱桥和倒影?
  12. 解决背景图文字盖住html里面的dom元素
  13. 使用Go语言访问JSON数据(gojsonq)
  14. SQLSqlserver中如何将一列数据,不重复的拼接成一个字符串
  15. Qt之创建自定义类型
  16. iOS - ipa安装包大小优化
  17. 论文笔记之:Dynamic Label Propagation for Semi-supervised Multi-class Multi-label Classification ICCV 2013
  18. codecombat js
  19. Tomcat篇
  20. 匿名管道和pipe函数

热门文章

  1. [OpenCV] Samples 17: Floodfill
  2. osx 10.11 一键制作U盘傻瓜工具最新版 无需任何命令
  3. 【netcore基础】MVC API全局异常捕捉中间件ExceptionHandlerMiddleWare
  4. css3整理--transform
  5. SVM 核方法
  6. 设计模式学习--Singleton
  7. xml配置
  8. np.unravel_index
  9. [Asp.net]Uploadify上传大文件,Http error 404 解决方案 - wolfy
  10. SQL中的Continue和Break