python面向对象和面向过程介绍与区别
一、面向对象和面向过程的区别:
a.面向过程:
1)根据业务逻辑从上到下写代码
2)开发思路是将数据和函数按照执行的逻辑顺序组织在一起
3)分开考虑数据与函数
定义性文字:
面向对象编程(Object Oriented Programming-OOP) 是一种解决软件复用的设计和编程方法。
这种方法把软件系统中相近相似的操作逻辑和操作应用数据、状态,以类的型式描述出来, 以对象实例的形式在软件系统中复用,以达到提高软件开发效率的作用。
优缺点:
优点:将复杂的问题流程化,进而简单化。
缺点:扩展性差
实例:面向过程式的登录注册程序
注意:一般认为, 如果你只是写一些简单的脚本,去做一些一次性任务,用面向过程的方式是极好的,但如果你要处理的任务是复杂的,且需要不断迭代和维护的, 那还是用面向对象最方便。
b.面向对象:
1)将数据与函数绑定到一起
2)进行封装
3)更快速高效地开发程序
4)减少重复代码的重写过程
定义性文字:
面向对象(object-oriented ;简称: OO) 至今还没有统一的概念,概括定义为:
按人们认识客观世界的系统思维方式,采用基于对象(实体) 的概念, 建立模型,模拟客观世界分析、设计、实现软件的办法。
优缺点:
优点:可扩展性高
缺点:编程复杂度高
应用场景:用户需求经常变化,互联网应用,游戏,企业内应用等。
举例:买车
面向过程,分为4步,去4个地方办4件事:
1、4s ==>买车
2、保险公司 ==> 买保险
3、地税局 ==》 交税
4、车管所 ==> 办牌照 面向对象,只去1个地方,全能办:
买车处
1、4s ==> 买车
2、保险公司 ==> 买保险
3、地税局 ==》 交税
4、车管所 ==> 办牌照 二、面向对象三大特性:
<1>封装(Encapsulation):在类中对数据的赋值、内部调用对外部用户来说是透明不可见的,这使类变成了一个胶囊或容器,里面包含着类的数据和方法。
<2>继承(Inheritance):一个类可以派生出子类,在这个父类里定义的属性、方法自动被子类继承。
<3>多态(Polymorphism):多态是面向对象的重要特性,简单点说:“一个接口,多种实现”,指一个基类中派生出了不同的子类,且每个子类在继承了同样的方法名的同时又对父类的方法做了不同的实现,这就是同一种事物表现出的多种形态。
python面向对象和面向过程介绍与区别的更多相关文章
- Python 面向对象和面向过程对比
# 大象装冰箱 # 脚本, 此时代码是最简单的. 不需要构思整个程序的概况 print("开门") print("装大象") print("关门&qu ...
- python的面向对象和面向过程
一.面向对象和面向过程的区别: a.面向过程: 1)根据业务逻辑从上到下写代码 2)开发思路是将数据和函数按照执行的逻辑顺序组织在一起 3)分开考虑数据与函数 定义性文字: 面向对象编程(Object ...
- 面向对象和面向过程,python中的类class,python中程序的入口——main方法,
1.程序入口,让main显现出来: print(__name__)#__name___是模块中的隐藏字段,当前模块运行的函数名 if __name__ == __main__ __main__() # ...
- python中的面向对象和面向过程
一.面向对象和面向过程 一.什么是面向过程 核心是过程二字:面向过程是一种流水线的工作流程,是先做什么在做什么 二.什么是面向对象 核心 是对象二字:是一种编程思想,上帝思维,一切皆对象,编程中负责调 ...
- PHP面向对象和面向过程
编程界不论是PHP.Python都有这么两种编程思想,oop面向对象.pop面向过程,这两种在功能上没有多大区别,但是在代码编写上却有很大区别.今天就记录一下面向对象和面向过程的优点.缺点.定义.实现 ...
- Day5-1 面向对象和面向过程
摘要: 类的定义 类的增删改查 对象的增删改查 对象的查找和绑定 面向对象和面向过程的区别: 1.面向过程就像是工厂的流水线,按部就班的有序的工作. 优点:把复杂的问题简单化 缺点:可扩展性差.一个步 ...
- 面向对象与面向过程 $this的注意事项和魔术方法set和get
一.面向对象与面向过程的区别: 二者都是一种思想,面向对象是相对于面向过程而言的.面向过程,强调的是功能行为.面向对象,将功能封装进对象,强调具备了功能的对象.面向对象更加强调运用人类在日常的思维逻辑 ...
- JavaSE——面向对象与面向过程、类与对象、(属性、方法、构造器)等
一:面向对象与面向过程 二者都是一种思想,面向对象是相对于面向过程而言的. 面向过程: 1.面向过程思想强调的是过程(动作). 2.在面向过程的开发中,其实就是面向着具体的每一个步骤和过程,把每一个步 ...
- Java基础知识强化20:面向对象和面向过程的思想对比
面向对象与面向过程的区别 1. 与面向对象编程思想相比较的,往往是面向过程的编程思想,其实在我来理解,两者并不冲突,原因是面向对象的编程也必须使用面向过程的思维来实现具体的功能,所以我认为,两者的区 ...
随机推荐
- 洛谷P4390 Mokia CDQ分治
喜闻乐见的CDQ分治被我搞的又WA又T..... 大致思路是这样的:把询问用二维前缀和的思想拆成4个子询问.然后施CDQ大法即可. 我却灵光一闪:树状数组是可以求区间和的,那么我们只拆成两个子询问不就 ...
- 汇编 gdb调试
as -g --32 -o hello.o hello.s ld -m elf_i386 -o hello hello.o gdb hello
- python多继承中子类访问祖先类的同名成员
子类调用父类的同名成员 方式1: class A: def f_a(self): print("----A----") class B: def f_a(self): print( ...
- 利用sys打印进度条
在很多常见中,需要对当前处理的进度进行显示,这个时候就需要进度条了,在python中,也有封装好的进度条模块,当然,也可以自己编写一个简单的进度条来帮助理解进度条的实现. 首先,需要理解一个概念,就是 ...
- Linux中rpm的使用
1.安装 rpm -i 需要安装的包文件名 举例如下: rpm -i example.rpm 安装 example.rpm 包: rpm -iv example.rpm 安装 example.rpm ...
- 《玩转Django2.0》读书笔记-Django配置信息
<玩转Django2.0>读书笔记-Django配置信息 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 项目配置是根据实际开发需求从而对整个Web框架编写相应配置信息. ...
- OS + Linux nmon / nmon analyser / nmon_analyser_v52_1.zip
s nmon_analyser_v52_1.zip https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Pow ...
- Java Web之验证码
今天来模拟一下验证码,我们需要三个文件,两个Servlet,一个jsp 直接贴代码吧 RandomCodeServlet:主要负责生产验证码 package com.vae.RandomCode; i ...
- Java中Sax解析XML
SAX基于事件的解析,解析器在一次读取XML文件中根据读取的数据产生相应的事件,由应用程序实现相应的事件处理逻辑,即它是一种“推”的解析方式:这种解析方法速度快.占用内存少,但是它需要应用程序自己处理 ...
- Redis之Transactions(事物)
你问我Redis支不支持事物?告诉你,Redis对事物的支持是部分支持(对比关系型数据库,没有强一致性) 定义:一个队列.一次性.顺序的.排他性的执行一系列命令 常用命令: DISCARD 取消事物, ...