面向对象和面向过程

Python完全采用了面向对象的思想,是真正面向对象的编程语言,完全支持面向对象的基本功能,例如:继承、多态、封装等。

Python支持面向过程、面向对象、函数式编程等多种编程方式。而Java编程语言支持面向对象的编程方式,C语言支持面向过程的编程方式、C++是支持面向对象的编程方式。

面向对象简介

面向对象(Object oriented Programming,简称OOP)编程的思想主要是针对大型软件设计而来的;它使得程序的扩展性更强、可读性更好;它将数据和操作数据相关的方法封装到对象中,其组织代码和数据的方式更接近人的思维。

在完成需求的时候,首先思考“怎么设计这个事务”,举个栗子:要制造一辆车,我们会思考“车是如何设计的”,会将车分为“轮胎、玻璃、车壳、座椅、发动机”等不同的部分,最后在对制造出来的各个零部件进行组装就可以制造一辆车。

面向过程简介

面向过程编程(Procedural Programming)是编程语言中最基础和最早的一种编程范式。面向过程适合简单、不需要协作的事务,重点关注如何运行。面向过程编程是一种以过程为中心的编程方法,将程序分解成一个个独立的子过程(Procedure),通过这些过程的调用和执行来完成任务。它注重问题的分析和解决过程,强调步骤的流程性,逐步求解问题。

在完成需求的时候,首先思考“怎么按步骤实现”,举个栗子:把大象装到冰箱分几步

  1. 先打开冰箱
  2. 把大象装进冰箱
  3. 关闭冰箱

但是这种编程思想并不适合复杂的设计任务,如:如何制造一辆车,在思考的时候可以发现利用面向过程是很难像上面一样分出1、2、3等步骤来完成。 

面向对象和面向过程思想

面向过程和面向对象都是对软件分析、设计和开发的一种思想,它指导着我们以不同的方式去分析、设计和开发软件。面向对象和面向过程是相辅助想成的,不能割裂开来思考。

  • 面向对象是一种“设计者思维”,可以帮助我们从宏观上把握,从整体上分析整个系统。
  • 面向过程是一种“执行者思维”,即具体的实现(微观操作上)仍然需要面向过程的思想来解决。

理解Python中的对象

对象的组成

  • 标识:用来唯一标识对象,通常对应于对象在计算机内存中的地址
  • 类型:存储的“数据”的类型
  • 值:表示对象所存储的数据的信息

在下面的例子中,分别使用内置函数id()、type()、print()来返回对象的标识、类型、值

变量实际上存储的是对象的标识符(即地址),如a存储的地址是140715963914968,b存储的地址是1982033548976,在使用该变量时,实际上是找到对象的地址。因此,变量也称为对象的引用。 实际上,变量位于栈内存中,对象位于堆内存中。

对象的本质

一个内存块,拥有特定的值,支持特定类型的相关操作。

相关推荐

  1. 面向对象面向过程

    2024-06-18 11:36:04       32 阅读
  2. 面向过程面向对象

    2024-06-18 11:36:04       11 阅读
  3. 面向过程面向对象的方式?

    2024-06-18 11:36:04       31 阅读
  4. 真正理解面向对象面向过程编程

    2024-06-18 11:36:04       40 阅读
  5. 关于面向对象面向过程的基本概念

    2024-06-18 11:36:04       13 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-18 11:36:04       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-18 11:36:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-18 11:36:04       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-18 11:36:04       20 阅读

热门阅读

  1. 高级优化理论与方法(十五)

    2024-06-18 11:36:04       6 阅读
  2. Linux 网络请求工具:curl

    2024-06-18 11:36:04       4 阅读
  3. 系统日志排查:Linux应急响应与溯源技术

    2024-06-18 11:36:04       7 阅读
  4. Python - 一个恶意脚本

    2024-06-18 11:36:04       6 阅读
  5. Git 克隆 GitHub 仓库时遇到了 SSL 证书问题

    2024-06-18 11:36:04       7 阅读
  6. .NET C#基础:While & do-while

    2024-06-18 11:36:04       8 阅读
  7. ncnn 和 rknn 自定义算子对比实现

    2024-06-18 11:36:04       8 阅读
  8. 如何安全的进行数据获取!!

    2024-06-18 11:36:04       10 阅读
  9. Scala入门介绍

    2024-06-18 11:36:04       10 阅读