一、面向对象和面向过程的区别:

a.面向过程:

  1)根据业务逻辑从上到下写代码

  2)开发思路是将数据和函数按照执行的逻辑顺序组织在一起

  3)分开考虑数据与函数

定义性文字:

  面向对象编程(Object Oriented Programming-OOP) 是一种解决软件复用的设计和编程方法。

这种方法把软件系统中相近相似的操作逻辑和操作应用数据、状态,以类的型式描述出来,

以对象实例的形式在软件系统中复用,以达到提高软件开发效率的作用。

b.面向对象:

  1)将数据与函数绑定到一起

  2)进行封装

  3)更快速高效地开发程序

  4)减少重复代码的重写过程

定义性文字:

  面向对象(object-oriented ;简称: OO) 至今还没有统一的概念,概括定义为:

按人们认识客观世界的系统思维方式,采用基于对象(实体) 的概念,

建立模型,模拟客观世界分析、设计、实现软件的办法。

举例:吃烤鸭

面向过程:1)养鸭  2)鸭子长成  3)杀  4)佐料  5)烤鸭  6)吃

面向对象:1)找个全聚德   2)吃   3)给钱  4)吃北京烤鸭完成

二、重点说一下面向对象:

  面向对象编程的2个非常重要的概念:类和对象,对象是面向对象编程的核心,

在使用对象的过程中,为了将具有共同特征和行为的一组对象抽象定义——类

1)类和对象的关系:

  类就是创建对象的模板,对象是使用类创建出来的,而且可以创建任意多个对象。

2)类的抽象:拥有相同(或者类似)属性和行为的对象都可以抽像出一个类

3)self的理解:

  所谓的self,可以理解为自己可以把self当做C++和java中类里面的this指针一样理解,就是对象自身的意思。

某个对象调用其方法时,Python解释器会把这个对象作为第一个参数传递给self,所以开发者只需要传递后面的参数即可

4)__init__方法与__new__方法的区别:  

  1. 当创建实例对象成功后,有Python解释器来调用__init__方法,这个方法不用我们手动调用;

  2. 误区,认为__init__方法用来创建对象的,初始化对象的一些数据;

  3. 创建实例对象是用__new__方法创建的,使用__new__创建实例对象后要记得返回.

5)set和get方法隐藏数据

6)类、对象、实体和面向对象编程的思维方式分析图:

python的面向对象和面向过程的更多相关文章

  1. python中面向对象VS面向过程

    面向过程编程:首先分析出解决问题所需要的步骤(即"第一步做什么,第二步做什么,第三步做什么"),然后用函数实现各个步骤,再依次调用. 面向对象编程:会将程序看作是一组对象的集合,用 ...

  2. 面向对象和面向过程,python中的类class,python中程序的入口——main方法,

    1.程序入口,让main显现出来: print(__name__)#__name___是模块中的隐藏字段,当前模块运行的函数名 if __name__ == __main__ __main__() # ...

  3. Python 面向对象和面向过程对比

    # 大象装冰箱 # 脚本, 此时代码是最简单的. 不需要构思整个程序的概况 print("开门") print("装大象") print("关门&qu ...

  4. python中的面向对象和面向过程

    一.面向对象和面向过程 一.什么是面向过程 核心是过程二字:面向过程是一种流水线的工作流程,是先做什么在做什么 二.什么是面向对象 核心 是对象二字:是一种编程思想,上帝思维,一切皆对象,编程中负责调 ...

  5. python面向对象和面向过程介绍与区别

    一.面向对象和面向过程的区别: a.面向过程: 1)根据业务逻辑从上到下写代码 2)开发思路是将数据和函数按照执行的逻辑顺序组织在一起 3)分开考虑数据与函数 定义性文字: 面向对象编程(Object ...

  6. PHP面向对象和面向过程

    编程界不论是PHP.Python都有这么两种编程思想,oop面向对象.pop面向过程,这两种在功能上没有多大区别,但是在代码编写上却有很大区别.今天就记录一下面向对象和面向过程的优点.缺点.定义.实现 ...

  7. Day5-1 面向对象和面向过程

    摘要: 类的定义 类的增删改查 对象的增删改查 对象的查找和绑定 面向对象和面向过程的区别: 1.面向过程就像是工厂的流水线,按部就班的有序的工作. 优点:把复杂的问题简单化 缺点:可扩展性差.一个步 ...

  8. 大话JS面向对象之扩展篇 面向对象与面向过程之间的博弈论(OO Vs 过程)------(一个简单的实例引发的沉思)

    一,总体概要 1,笔者浅谈 我是从学习Java编程开始接触OOP(面向对象编程),刚开始使用Java编写程序的时候感觉很别扭(面向对象式编程因为引入了类.对象.实例等概念,非常贴合人类对于世间万物的认 ...

  9. 面向对象与面向过程 $this的注意事项和魔术方法set和get

    一.面向对象与面向过程的区别: 二者都是一种思想,面向对象是相对于面向过程而言的.面向过程,强调的是功能行为.面向对象,将功能封装进对象,强调具备了功能的对象.面向对象更加强调运用人类在日常的思维逻辑 ...

随机推荐

  1. ACTION_NAME等常量 不能在模板里直接取值?

    在控制器里可以取得,显示模板之前需要向模板传递. condition 下用$Think.const.MODULE_NAME 在模板里要用{$Think.ACTION_NAME}

  2. 获取select中的值

    分别使用javascript原生的方法和jquery方法<select id="test" name=""> <option value=&q ...

  3. openfire服务器+Spark搭建即时聊天系统 & 阿里云的初步探索

    晚上出去和洋仔吃了涮肉,喝了点啤酒,不知不觉就聊到了11点,感觉他工作状态还不错,emmm...都要加油吧.虽然没有当时去山西零下二十多度那么夸张,这几天北京的冬夜还是有点小冷的.好了进入正题: 一. ...

  4. IE调试网页之三:使用 F12 工具控制台查看错误和状态 (Windows)

    IE调试网页之三:使用 F12 工具控制台查看错误和状态 (Windows)  等 请见博客园的  我的收藏

  5. Objective-C基础教程学习笔记(附录)从Java转向Objective-C

    Java接口与Objective- C正式协议类似,因为它们都需要实现一组方法.Java具有抽象类,但Objective-C没有.Java具有类变量,但在Objective-C中, 可以使用文件范围内 ...

  6. 【Code clone】Distributed Code Clone Detection Based on Index

    1 摘要  随着软件产业的发展,代码克隆现象越来越常见,随之带来的安全漏洞.可维护性.产权等问题也引起人们重视.代码克隆按照复制程度分为4类:完全复制.修改名称.更换顺序和自实现.现有的代码克隆检测工 ...

  7. linkin大话面向对象--封装和隐藏

    软件开发追求的境界:高内聚,低耦合 高内聚:尽可能把模块的内部数据,功能实现细节隐藏在模块内部独立完成,不允许外部直接干预 低耦合:仅暴露少量的方法给外部使用 到底为什么要对一个雷或者对象实现良好的封 ...

  8. 通过反编译深入理解Java String及intern(转)

    通过反编译深入理解Java String及intern 原文传送门:http://www.cnblogs.com/paddix/p/5326863.html 一.字符串问题 字符串在我们平时的编码工作 ...

  9. JAVA中发送电子邮件的方法

    JAVA中发送邮件的方法不复杂,使用sun的JavaMail的架包就可以实现.  一.下载JavaMail的架包,并导入项目中,如下: 二.附上代码例子,如下: 1.在main函数中对各项参数进行赋值 ...

  10. freemarker中值比较的写法

    因为freemarker中不能使用<.>的方式进行值的比较,大于使用gt,小于使用lt.所以集合大于0判断,如下: <#if students?size gt 0><#i ...