面向对象编程思想介绍|学习笔记

简介: 快速学习面向对象编程思想介绍

开发者学堂课程【PHP 进阶教程-由浅入深掌握面向对象开发-第一阶段面向对象编程思想介绍】学习笔记,与课程紧密联系,让用户快速学习知识。  

课程地址:https://developer.aliyun.com/learning/course/711/detail/12655


面向对象编程思想介绍

 

内容介绍:

一、面向对象编程思想

 

高级编程语言里有两种面向过程和面向对象。面向过程是基于过程进行拆分,然后封装成函数,缺点是少操作的人。

 

一、面向对象编程思想

1、目标

理解面向对象编程思想与面向过程编程思想的区别,了解面向对象编程思想的核心,建立面向对象编程思想

2、概念

面向对象编程思想:面向对象编程也叫做 OOP 编程(Obiected Oriented Programming),是一种基干面向过程的开发思想。与面向过程强调分解事务步骤相似,(谁来做是一定要规范这件事情,如果不能确定就把它叫做面向过程,如果确定是面向对象)面向对象更需要追求事务操作的“主体”,也就是对象

面向对象编程是一种编程思想,不是一种具体技术

面向对象是在面向过程基础之上发展而来,因此也是一种模块化编程思想(有函数)

面向对象能够更加方便的实现代码的重复利用(适用于大型项目)

在面向对象思维中,任何动作的执行或者数据都属于对象(一切皆对象)

面向对象编程是编程思想不是一种具体的技术,用这种方式来指导、设计程序、来实现这种思想,面对对象是在面向过程的基础之上发展,所以面向过程有的一些特性在面向对象里基本存在,也可以把面对象称之为模块化的编程思想,因为里面肯定有函数。面向对象的一个方式能够更加方便的去实现代码的重复利用,适用于大型项目,面向过程也能做大项目,只是模式稍微不一样,在面向对象的思维中任何动作的一个执行、数据或者数据的操作都属于对象,一切皆对象。

3、原理

(1)面向过程编程思想原理

实现商品购物功能

面向过程

拆分步骤

显示商品

加入购物车

生成订单

支付

物流

收货确认

面向过程

将各个过程使用函数实现,然后顺序调用函数即可

image.png

整个过程都是通过函数节点实现,调用也是顺序调用,数据必须是通过函数的参数或者返回值来实现传递。看到商品再去查看商品,也能查看加入购物车,再调用一个函数生成订单,再调用的函数支付,调用函数就按照这种方式一步步去调动就行按照顺序,顺序不能乱,因为乱无法完成整个流程。

(2)面向对象编程思想原理

①拆分步骤

显示商品

加入购物车

生成订单

支付

物流

收货确认

②细分步骤

谁在购买?

谁在提供?

面向对象将各个过程使用函数实现,而且要找到功能对应的操作主体并进行归并,然后由操作主体调用

面向对象的核心就是在面向过程之上,找到谁是这些函数和数据的操作者,即操作主体(对象),然后代码实现方式就是主体调用内部函数或者数据

买家->function 显示商品()->function 加入购物车()->function 生成订单()->function 支付()

卖家->function 物流() 买家->function 收货确认()

image.png

基于面向过程,但不同的是要确定是谁在做这件事情。买东西要确定谁买谁卖,有了东西之后把这些过程用函数来实现,此时要确定多两个东西,买家跟卖家。把这些功能是谁的就把它放到哪里去,相当于又多包了一层,原来是function包层现在还有一层结构包含,包含好之后去调用谁来做这件事情按照顺序来做,买家要支付商品就让买家来支付商品,做某件事情之前一定有操作的主谁来做这件事情,所以比面向过程更复杂,但是更符合人类的思维逻辑,因为做任何事情都有一个责任人,谁来做这件事情是面向对象的编程思想。以后会在函数的基础上再加一些东西,把它再包起来归属做好,利用归属去调用对应的它所拥有的功能去实现操作。

4、小结

(1)面向对象编程是一种编程思想,与技术无关

(2)面向对象编程的本质是增加数据和功能的操作主体,即对象

(3)面向对象中所有的数据和功能都是由主体(对象)来调用和操作

面向对象编程只是一种思想,是指导怎么去做跟面向过程是一样的,具体怎么去做,用什么样的语言才是技术。面向对象编程的本质是增加数据和功能,面向过程就多一个买家和卖家,把东西归属好做这件事情,把买家卖家可以称之为对象。面向对象中所有的数据和功能都由对象来调用和操作,所有的显示商品、加入购物车都有对应的对象,买家显示商品,买家加入购物车,买家生产订单,买家支付,卖家做物流,买家做收货确认,最终实现的过程差不多,会有便捷性。

相关文章
|
Java API 开发工具
Java程序如何通过阿里云OpenAPI调用短信接口
Java程序如何通过阿里云OpenAPI调用短信接口
1133 1
|
SQL 安全 Java
resultMap 与 resultType、parameterMap 与 parameterType的区别
resultMap 与 resultType、parameterMap 与 parameterType的区别
258 0
|
Linux Python 监控
Supervisor 、Supervisord-Monitor 的web统一管理安装、配置、使用
Supervisor 安装、配置、使用、web管理,linux下进程管理系统、监听、重启、停止进程。
9792 0
|
运维 Linux
Linux(CentOS)挂载数据盘并设置开机自动挂载
Linux(CentOS)挂载数据盘并设置开机自动挂载
1283 0
Linux(CentOS)挂载数据盘并设置开机自动挂载
|
存储 弹性计算 固态存储
阿里云服务器可选云盘ESSD AutoPL、ESSD云盘、SSD云盘区别参考
目前阿里云服务器的云盘有ESSD AutoPL、高效云盘、ESSD云盘、SSD云盘等可供选择,有的新手用户并不清楚他们之间的区别,因此也就不知道应该如何选择,因为不同种类的云盘在最大IOPS、最大吞吐量等性能上是有区别的,下面我们一起来他们之间的区别,这样就有助于我们选择适合自己需求的系统盘与数据盘了。
阿里云服务器可选云盘ESSD AutoPL、ESSD云盘、SSD云盘区别参考
|
算法 数据挖掘 大数据
探索数据挖掘中的特征选择算法
在数据挖掘领域,特征选择是一项至关重要的任务。本文将深入探讨几种常用的特征选择算法,并比较它们在不同数据集上的表现,旨在帮助数据分析师和研究人员更好地应用这些算法来提升模型性能。
什么叫做 “面向对象” 编程?
本文介绍了面向对象编程(OOP)的概念、核心组件(类和对象)、三大特性(封装、继承和多态)以及六大设计原则,强调了面向对象编程在提高代码的可重用性、模块化、扩展性和维护性方面的优点。
749 1
|
C++ 存储 安全
C++中`std::function`和`std::bind`的详细解析
C++中`std::function`和`std::bind`的详细解析
332 0
C++中`std::function`和`std::bind`的详细解析
|
人工智能 搜索推荐 安全
从零到一:微信机器人开发的实战心得
从零到一:微信机器人开发的实战心得
1039 2
|
机器人 BI 数据格式
用八爪鱼RPA轻松实现员工社保管理,解放hr重复劳动!
八爪鱼rpa是一款强大的自动化工具,可以帮助企业实现员工社保管理的自动化。