面向对象:

是一种程序设计范型

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

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

知识点一: 代码的重用

举个栗子
比如小月月有了一个女朋友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. 【Earthquake, 2001 Open 】 0-1 分数规划

    71  奶牛施工队一场地震把约翰家园摧毁了,坚强的约翰决心重建家园.约翰已经修复了 N 个牧场,他需要再修复一些道路把它们连接起来.碰巧的是,奶牛们最近也成立了一个工程队,专门从事道路修复.而然,奶牛 ...

  2. [wikioi]数的划分

    http://wikioi.com/problem/1039/ 划分型DP.最终的思路是,F[i][j]表示i分成j份,如果分出来的有1,那么去掉1,就是F[i-1][j-1]:如果没有1,那就都减1 ...

  3. hadoop多机安装YARN

    hadoop伪分布安装称为测试环境安装,多机分布称为生成环境安装.以下安装没有进行HA(热备)和Federation(联邦).除非是性能需要,否则没必要安装Federation,HA可以一试,涉及到Z ...

  4. 【HDOJ】2133 What day is it

    需要注意数据有效性. #include <stdio.h> #define isLeapYear(y) (y%4==0&&y%100!=0)||(y%400==0) ][] ...

  5. 【HDOJ】3466 Proud Merchants

    先排序预处理,后01背包. #include <stdio.h> #include <string.h> #include <stdlib.h> #define M ...

  6. pcDuino 刷系统-卡刷

    准备: pcduino : 点此购买 支持HDMI的显示器:点此购买  或参考无显示器刷机与使用.至少1张4G microSD卡,如果内存卡不大,可以用内存卡刷内核,用u盘刷系统 背景:本教程中使用的 ...

  7. Unity3D之多个fbx导入场景, 合并多个动画

    1:先导入到合适的文件夹, Unity自动刷新, 生成相应的文件. 2:在Project视图中选中单个fbx, 在Inspector中选择"Rig", 更改"Animat ...

  8. http Error 503 server unavailable

    服务器的环境为: 系统:Windows server 2008 64位 数据库:Oracle 10g WEB应用服务:IIS 7.0+.Net Framework 4.0 无法打开服务元数据库路径“/ ...

  9. JavaScript---网络编程(6)-Dom和Bom模型概念讲解(节点获取,window对象)

    本节讲Dom和Bom模型概念讲解(节点获取,window对象). out.js: 写了2个输出到页面的函数. function println(param){ document.write(param ...

  10. log4j的使用方法

    1.Log4j是什么? Log4j可以帮助调试(有时候debug是发挥不了作 用的)和分析 2.Log4j的概念 Log4j中有三个主要的组件,它们分别是 Logger.Appender和Layout ...