码迷,mamicode.com
首页 > 其他好文 > 详细

面向对象详解

时间:2017-10-02 22:23:05      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:python

面向对象:对象各自完成各自任务,面向过程是相当于领导者帮各对象完成任务。面向对象有点模块化的意思,面向过程有牵一发动全身的意思。面向过程就有点什么东西都得考虑到,面面俱到的意思。

技术分享 

 

类:说到面向对象必须知道类,例:类就是一个飞机模板,飞机就是对象。类就是一个模型,对象就是一个真正看得见摸得着的实体:

技术分享 

类的3个组成部分:

类型的名称:类名

类的属性:一组数据

类的方法:允许对进行操作的方法(行为),也就是它的功能

技术分享 技术分享

 

定义一个类:

class 类名:

#属性

#方法

def eat(self):

    print(猫在吃鱼)

def drink(self):

    print(猫在喝kele...)

 

创建一个对象就是在内存中开辟了一个内存空间

技术分享创建对象结果就是返回一个内存指向值。

技术分享对象使用的方法。

 

属性不要在类里面定义,直接在调用时添加即可:

 技术分享

调用属性时也可以直接用函数定义在类里,然后通过类调用即可。

技术分享self是谁调用self就是谁。

 

__init__:初始化对象属性,不需要调用自动调用即可执行,默认值的设定。也称为魔法方法,具有特殊功能的方法。

 

最好的属性添加应该在初始化对象时通过__init__初始化,然后在调用类时传递参数。

 

 技术分享

__str__方法:必须要用return,也是自动调用,用来反映对象的描述信息。

技术分享 

 

类里面的属性就相当于全局变量,然后类里面的方法都可以调用它。

 

 

 

烤地瓜,属性值累加到对象定义完才是真正完成:

 

 技术分享

存家具:在对象里放对象。

技术分享 

 

隐藏对象属性:直接获取属性不安全,比如查看某人的工资,要别人允许才行,允许就return返回值,不允许就不rerurn,应该把这个属性做成一个方法,那么隐藏属性就是通过方法来实现,不直接表现出来,这样还可以避免设置成-10而程序不报错的问题。

私有方法:加两个__xx在函数里的,那么不让在外面直接调用,而需要在另一个函数里通过self.x的方式调用,这样可以做到某些功能通过if判断句验证后才能调,起到一个控制作用:

技术分享 

 

__del__方法:当没有东西调用的时候就用到,一般游戏里英雄死的时候会用到,就像硬链接有几个引用,直到最后一次引用被干掉后就会执行__del__

技术分享 

 

import randomrandom就相当于工具箱,sys是个模块。sys.getrefcount(t)就相当查看硬链接数,它比实际的要多1.

技术分享 

 

继承:为什么让程序当中少写代码,直接继承前面创建过的程序即可。让子类直接调用父类即可,甚至猫类的吃可以继承动物类的吃

 技术分享

父类:class xx

子类:class xx():  比父类多一个大括号。


面向对象详解

标签:python

原文地址:http://liukexing.blog.51cto.com/1180302/1970191

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!