当前位置: 首页 > 后端技术 > Python

python-object-oriented-01面向过程和面向对象的区别

时间:2023-03-26 01:58:08 Python

1。面向过程介绍1.1面向过程的思想面向过程编程主要关注的是“程序的逻辑流程”,是一种“执行者”的思想,主要适用于编写小型程序。在用面向过程的思维思考问题时,我们首先思考“如何按步骤实施?”,先把解决问题拆解成几个步骤,再把这些步骤映射成方法,一步一步来,最后完成。这适用于不需要太多协作的简单任务。1.2面向过程的例子举一个我们生活中很常见的例子,比如:如何开车?我们会在脑海中迅速想到以下步骤:发动汽车,挂档,踩下油门走开。这样,我们就实现了面向过程的思想。1.3流程导向性不足当我们思考更复杂的问题,比如“如何造一辆汽车?”时,我们会发现步骤1、2、3、4都罗列了,无从下手。步骤太多了。有的是继承关系,有的没有依赖,有一种感觉:老虎吃刺猬——无处可吃。问题:很难用面向过程的思维方式处理复杂的问题。2.什么是面向对象?2.1面向对象(ObjectorientedProgramming,OOP)思想面向对象更关注“软件中对象之间的关系”,是一种“设计者”思想,这种编程思想主要针对大型软件设计。面向对象编程使程序更具可扩展性和可读性,可以使程序像搭积木一样简单。面向对象编程将数据和操作数据的方法封装成对象,代码和数据的组织方式更接近人类的思维,从而大大提高了编程的效率。面向对象(Object)的思维更符合人的思维方式。我们首先想到的是“这个东西怎么设计?”例如,当我们想到造汽车时,我们首先会想到“如何设计汽车?”。而不是“如何按照步骤造车”。这是思维方式的转变。2.2面向对象的例子以我们刚才提到的汽车制造问题为例。当我们想到用面向对象的方式建造一辆汽车时,我们首先会想到并发现汽车是由那些大部件组成的,列举如下:轮胎引擎车壳座椅椅子挡风玻璃为了完成整个任务,我们采用协作方式,零件单独处理。我们找了一家轮胎厂来完成制造轮胎的过程,找了一家发动机厂来完成制造发动机的步骤;这样,我们发现大家可以同时制造汽车,最后组装起来,大大提高了效率。但是,涉及到轮胎厂的流水线作业,还是有步骤的,但是需要用流程化的思维来处理。不能反对面向过程和面向对象。它们是互补的。面向对象对象离不开面向过程。2.3面向对象的思想遇到复杂的问题,首先从问题中找名词(更面向过程的是找动词),然后判断这些名词中有哪些可以作为类,进而确定类的属性和方法根据问题的需要,确定类之间的关系。3、面向过程和面向对象的联系和区别都是解决问题的思维方式,都是通过代码来组织的。解决简单的问题,可以用面向过程来解决复杂的问题。宏观上用面向对象把握,微观上用面向过程。.面向对象可以认为是面向过程的升级4.从最小单元来看,面向过程和面向对象过程是最小的组成单元功能,简单的认为是执行特定功能的代码块.面向对象的最小构成单元是对象,对象包含属性sum方法总结(对应面向过程的功能):从这里可以看出面向对象的内容(属性,也就是数据)更多而不是面向过程的最小单元,所以可以做的事情更多。可以认为是面向过程的升级。5、python中的编程范式Python完全采用了面向对象的思想,是真正的面向对象的编程语言。全面支持面向对象的基本功能,如:继承、多态、封装等。在python中,一切皆对象。包括常见的数据类型和函数都是对象。并且python支持面向过程、面向对象、函数式编程等多种编程范式。注意:很多人说java是一种面向对象的编程语言,但是请注意java并不是纯粹的面向对象的语言。你为什么这么说?因为java中有8种基本数据类型,这些类型不是对象,而是普通的值、字符、字符串,所以不是完全面向对象的类和对象。请注意这一点。备注:更多精彩博客请访问:聂法军技术博客对应视频教程请访问:python400完整markdown笔记请访问:python400_learn_github