面向对象:

是一种程序设计范型

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

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

知识点一: 代码的重用

举个栗子
比如小月月有了一个女朋友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. 从C#到Python —— 4 类及面向对象

    http://www.cnblogs.com/yanxy/archive/2010/04/04/c2p_4.html 如果你熟悉C#,那么对类(Class)和面向对象(Object Oriented) ...

  2. JSOI2015 Round1——完挂

    感觉眼前天地转了转…… Day 0 和zxy,zyh一同坐车去扬中,同行的还有llr 路上zyh基本在睡觉…… 入住的宾馆各种坑爹,同一层住的两个房间一个有网一个没网 我有幸入住了有网的房间,zyh在 ...

  3. POJ_3616_Milking_Time_(动态规划)

    描述 http://poj.org/problem?id=3616 给奶牛挤奶,共m次可以挤,给出每次开始挤奶的时间st,结束挤奶的时间ed,还有挤奶的量ef,每次挤完奶要休息r时间,问最大挤奶量. ...

  4. ☀【canvas】直线 / 三角形 / 矩形 / 曲线 / 控制点 / 变换

    <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8& ...

  5. vmware10安装win8x64(亲测)

    首先,创建虚拟机,选择典型 下一步后 弄完后选择“完成”,这下就可以安装了 之后分区,之后选cdrom做启动,之后安装win8到第一分区

  6. [ZETCODE]wxWidgets教程五:布局管理

    本教程原文链接:http://zetcode.com/gui/wxwidgets/layoutmanagement/ 翻译:瓶哥 日期:2013年12月4日星期三 邮箱:414236069@qq.co ...

  7. Installing Ubuntu on a Pre-Installed Windows 8 (64-bit) System (UEFI Supported)

    http://askubuntu.com/questions/221835/installing-ubuntu-on-a-pre-installed-windows-8-64-bit-system-u ...

  8. Using Java SecurityManager to grant/deny access to system functions

    In Java it is possible to restrict access to specific functions like reading/writing files and syste ...

  9. UF2.0、O4、UFT、TA众明星背后的秘密

    UF2.0--经纪业务运营平台 O4--投资交易管理系统软件 UFT--证券极速交易系统软件 TA--登记过户系统 -- 说到恒生在业内的明星产品,太多了,小编一口气说不完,但小编只知其一,殊不知这些 ...

  10. idea静态数据加载失败的解决办法

     把上图中的resource文件夹(存放xml等配置文件)标记成resource.