ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# 面向对象(OOP)基本概念 **面向对象编程** —— `Object Oriented Programming` 简写 `OOP` ## 目标 * 了解 **面向对象** 基本概念 ## 01\. 面向对象基本概念 * 我们之前学习的编程方式就是 **面向过程** 的 * **面相过程** 和 **面相对象**,是两种不同的 **编程方式** * 对比 **面向过程** 的特点,可以更好地了解什么是 **面向对象** ### 1.1 过程和函数(科普) * **过程** 是早期的一个编程概念 * **过程** 类似于函数,只能执行,但是没有返回值 * **函数** 不仅能执行,还可以返回结果 ### 1.2 面相过程 和 面相对象 基本概念 #### 1) **面相过程** —— **怎么做**? 1. 把完成某一个需求的 `所有步骤` `从头到尾` 逐步实现 2. 根据开发需求,将某些 **功能独立** 的代码 **封装** 成一个又一个 **函数** 3. 最后完成的代码,就是顺序地调用 **不同的函数** **特点** 1. 注重 **步骤与过程**,不注重职责分工 2. 如果需求复杂,代码会变得很复杂 3. **开发复杂项目,没有固定的套路,开发难度很大!** ![](https://pic.downk.cc/item/5e85cbf2504f4bcb042e2fc0.jpg) #### 2) **面向对象** —— **谁来做**? > 相比较函数,**面向对象** 是 **更大** 的 **封装**,根据 **职责** 在 **一个对象中 封装 多个方法** 1. 在完成某一个需求前,首先确定 **职责** —— **要做的事情(方法)** 2. 根据 **职责** 确定不同的 **对象**,在 **对象** 内部封装不同的 **方法**(多个) 3. 最后完成的代码,就是顺序地让 **不同的对象** 调用 **不同的方法** **特点** 1. 注重 **对象和职责**,不同的对象承担不同的职责 2. 更加适合应对复杂的需求变化,**是专门应对复杂项目开发,提供的固定套路** 3. **需要在面向过程基础上,再学习一些面向对象的语法** ![](https://pic.downk.cc/item/5e85cc1c504f4bcb042f453b.jpg) ![](https://pic.downk.cc/item/5e85cc5e504f4bcb0430f2b0.jpg)