面向对象:

是一种程序设计范型

作用: 提高软件的重用性和灵活性,扩展性

世界万物一切皆为对象,对象即是指由特定状态,特征,行为的实体
 

知识点一: 代码的重用

举个栗子
比如小月月有了一个女朋友1,因为一些其他原因,这个女朋友1离开了,不久以后,小月月又
找到了一个女朋友2,那么这个女朋友2和女朋友1肯定是有一些基本的共性的 ,比如走路,
是个女性,都有自己的名字,这时候,如果小月月是个富二代,他想找个小三,小三也具有
这些基本的共性,所以他就可以很快的new出来一个小三,只需要在此基础上添加额外自己想要
的功能就可以了,我们把这些基本的功能写成代码这个时候
注意了:
通过面向对象,就可以实现一些基本功能的多次调用
 
疑点:通过函数式编程好像也可以实现类似代码重用的功能?
但是自己写的代码有时候需要传入一个参数,来告诉这个代码是谁在调用它,不然以前的去女朋友1来调用
这段代码的时候,你都不知道,想想是一件很恐怖的事情,所以通过面向对象就不需要传入参数 可以直接
调用,面向对象会自己识别,是谁在调用这段代码......
 

知识点二:代码的继承和封装

小月月是东北人 ,小月月生活的很幸福,他们生了一个boby,小月月当父亲了,这个boby会有一些地方
像小月月对吧 ,因为他是小月月的孩子嘛,帅气的外表,智慧的大脑 ,好了 
 
注意了:
这个时候通过面向对象把小boby封装起来,继承小月月的(比如东北话)代码属性 
 
疑点: 函数式编程可以实现啊 ,为什么要用面对象呢?
函数式编程是通过字典的形式把这种父与子的关系写入到内存中,然后来实现继承一些代码属性, 
所以写在内存中,这就允许了任何人都可以来改动,当然在我们现实生活中这是不允许的 
而面向对象会把这个小boby封装起来,可以正常调用,并且保持继承的关系 外面的人不知道怎么实现的,
是改动不了的,所以你懂了.... 
 

知识点三: 多态

一个人可以对于吃来说,可以有不同的形式
比如说你可以站着吃饭 ,你也可以坐着吃饭   
 
 

知识点四:类的定义

class  Person(object):    #声明了一个类
pass people_one = Person("bds")
class :是一个抽象的,泛指的东西  
Person: 代表所有人,一个物种,人的一些基本的特征 ,比如说名字,血液,毛发,
people_one: 这就是一个生动的现实的人类,是一个对象 
 一句话: people_one是通过class Person 实例化出来的一个对象
 
 
代码演示: 
class  Person(object):
def __init__(self,name) #初始化函数
self.name = name
def say_name(self):
print "my name is %s" % self.name p_one = Person("bds")
p_one.say_name()

  

p_one是Person实例化的一个对象,在实例化对象时 ,就会执行初始化函数,所以比如一些基本的特征,属性
就可以通过初始化函数来定义
 
理解:什么样的特征需定义self呢?
一个吃的特征,每个人都是一样的,每个人都可以吃,所以这个就是大家共性的,就不需要初始化来区别,但是 
比如名字,每个人的都不同的,所以这个name 就需要初始化函数来定义name,来区别每个人。
 
方法,属性,函数,功能
举个栗子 
假如有一个杯子,他有各种各种的属性,长,宽,高,形状
它有一个功能之一是用来装水,我们调用这个装水的动作就叫做方法 
 
           函数实现各种功能                 调用功能的动作就是方法
函数              -->               功能                    -->                        方法 
 
 
 
 
 
 
 
 

python 面向对象简单理解的更多相关文章

  1. python 面向对象深入理解

    面向过程 函数式编程 面向对象编程:面向对象是由类和对象组成,只要用类和对象实现的,就是面向对象编程 def  Bar():     print  "This is  Bar " ...

  2. javascript javascript面向对象的理解及简单的示例

    javascript面向对象的理解及简单的示例 零.本节重点: 1.封装: 2.继承: 壹.下面理解: 一. javascript面向对象概念: 为了说明 JavaScript 是一门彻底的面向对象的 ...

  3. python面向对象一

    1.1三种编程方法论 1.面向过程:把复杂的任务一步一步分解成简单的任务. 2.函数式编程:思想上接近于数学运算,根据某种方式,根据方式得出的结果. 3.面向对象编程:一种编程方式,需要使用" ...

  4. Python 面向对象 基础

    编程范式概述:面向过程 和 面向对象 以及函数式编程 面向过程:(Procedure Oriented)是一种以事件为中心的编程思想. 就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现 ...

  5. python 面向对象学习

    ------Python面向对象初 下面写一个类的简单实用,以便方便理解类 #python 3.5环境,解释器在linux需要改变 #阅读手册查询readme文件 #作者:S12-陈金彭 class ...

  6. python 面向对象、特殊方法与多范式、对象的属性及与其他语言的差异

    1.python 面向对象 文章内容摘自:http://www.cnblogs.com/vamei/archive/2012/06/02/2532018.html   1.__init__() 创建对 ...

  7. #5 Python面向对象(四)

    前言 本节将是Python面向对象的最后一篇博文了,这节将记录类的特殊方法.特殊成员方法.旧类和新类的不同,以及一些其他知识.Go! 一.类的特殊方法 Python有三种特殊方法:实例方法.静态方法. ...

  8. python面向对象入门(1):从代码复用开始

    本文从代码复用的角度一步一步演示如何从python普通代码进化到面向对象,并通过代码去解释一些面向对象的理论.所以,本文前面的内容都是非面向对象的语法实现方式,只有在最结尾才给出了面向对象的简单语法介 ...

  9. python面向对象(封装、继承、多态)+ 面向对象小栗子

    大家好,下面我说一下我对面向对象的理解,不会讲的很详细,因为有很多人的博客都把他写的很详细了,所以,我尽可能简单的通过一些代码让初学者可以理解面向对象及他的三个要素. 摘要:1.首先介绍一下面向对象 ...

随机推荐

  1. Android 给ListView设置Adapter

    Adapter: class MyAdapter extends BaseAdapter { private List<Person> personList; public MyAdapt ...

  2. Android 获取SDCard上图片和视频的缩略图

    获取图片缩略图和视频缩略图的方法: Java代码: import java.io.File; import android.app.Activity; import android.graphics. ...

  3. 例说C#深拷贝与浅拷贝

    一开始,先对C#深拷贝与浅拷贝知识做个简单的总结. 无论是浅拷贝与深拷贝,C#都将源对象中的所有字段复制到新的对象中.不过,对于值类型字段,引用类型字段以及字符串类型字段的处理,两种拷贝方式存在一定的 ...

  4. Codevs_1017_乘积最大_(划分型动态规划/记忆化搜索)

    描述 http://codevs.cn/problem/1017/ 给出一个n位数,在数字中间添加k个乘号,使得最终的乘积最大. 1017 乘积最大 2000年NOIP全国联赛普及组NOIP全国联赛提 ...

  5. 判斷作業系統為 64bit 或 32bit z

    有時我們在開發Windows 桌面應用程式時,會發生一些弔詭的事情,作業系統位元數就是一個蠻重要的小細節,若您寫的應用程式在Windows 的32bit 作業系統上可以完美的運行,但不見得在64bit ...

  6. Reason: Server is in single user mode. Only one administrator can connect at this time

    单击Start→All Programs→Microsoft SQL Server 2008→Configuration Tools→SQL Server Configuration Manager. ...

  7. HDU-2549 壮志难酬

    壮志难酬 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  8. WinDbg配置和使用基础

    WinDbg配置和使用基础 WinDbg是微软发布的一款相当优秀的源码级(source-level)调试工具,可以用于Kernel模式调试和用户模式调试,还可以调试Dump文件. 1. WinDbg介 ...

  9. [JLOI2013]卡牌游戏

    [题目描述 Description] N个人坐成一圈玩游戏.一开始我们把所有玩家按顺时针从1到N编号.首先第一回合是玩家1作为庄家.每个回合庄家都会随机(即按相等的概率)从卡牌堆里选择一张卡片,假设卡 ...

  10. JavaScript高级程序设计32.pdf

    样式 在HTML中定义样式的方式有3种:通过<link/>元素包含外部样式表文件.使用<style/>元素定义嵌入式样式,以及使用style特性定义针对特定元素的样式,“DOM ...