python面向对象

面向对象的一般概念:

#

Class 类 一个抽象
Object 对象 一个实例

封装:
在类中对数据的赋值 内部调用对外部是透明的
继承:
一个类可以派生多个类 子类继承父类
多态:
一个接口多种实现,对不同的类发出同一个命令,会得到不同的行为。

__author__ = 'lee'
class Role:
    def __init__(self,name,role,weapon,life_value=100,money=15000):
        self.name = name
        self.role = role
        self.weapon = weapon
        self.life_value = life_value
        self.money = money

    def shot(self):
        print("shooting...")

    def got_shot(self):
        print("ah...,I got shot...")

    def buy_gun(self,gun_name):
        print("%s just bought %s" %(self.name,gun_name))

r1 =Role('Alex','police','AK47').got_shot() # 生成一个角色 实例化 想当午造了一个对象
Role('Alex','police','AK47').buy_gun("B22")

r2 = Role('Jack','terrorist','B22')  # 生成一个角色

#r1.buy_gun("AK47")

类里可以有变量存在,叫类变量。
类变量的用途:大家公用的属性

class Person:
    cn = "中国"
    def __init__(self,name,age,addr):
        self.name = name
        self.cn = 'cn'
p1 = Person('name','age','addr')

析构函数: 在实例释放、销毁的时候实施的,通常用于做一些收尾工作,如关闭一些数据库连接,打开的临时文件。
Question:
Python有内存回收机制为何还需要析构函数?
自动回收是回收没有变量名的,如果有变量名则不回收

私有属性
类似这样 在属性前加上__,只有类本身可以被调用

self.__life_value = life_value

私有方法
类似这样 在方法前加上__,只有类本身可以被调用

 def __got_shot(self):
        print("ah...,I got shot...")
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 作者:武沛齐原文地址:http://www.cnblogs.com/wupeiqi/ 上一篇《Python 面向对...
    IT程序狮阅读 2,448评论 3 41
  • 一、面向对象,这个对象到底是什么? 这个对象不是python中的实例,python中我们把一个类的实例也叫做对象,...
    youngkun阅读 1,125评论 0 2
  • 类与实例 类与实例相互关联着:类是对象的定义,而实例是“真正的实物”,它存放了类中所定义的对象的具体信息。 下面的...
    邪恶的Sheldon阅读 387评论 0 0
  • 一、类和实例 类是抽象的模板。实例是类创建出来的一个个具体的对象,每个对象都拥有相同的方法,但是各自数据可能不同。...
    zzj丶阅读 259评论 0 0
  • 类相关知识 对象相关知识 类属性增删改查 实例属性增删改查 对象与实例属性 静态属性 类方法 静态方法 组合 继承...
    Techml阅读 481评论 0 0

友情链接更多精彩内容