python之类、对象详解,实例化代码示例,构造函数与析构函数,私有属性和方法

世界万物节皆可分类,世界万物皆可对象,只要对象,肯定属于某种类,只要对象,肯定有属性
类:具有相同属性、方法对象的抽象
对象:类的实例化,每个对象可有不同属性
类的三大特性:
封装:将数据方法放到类里,类就变成了一个胶囊或者容器
继承:一个类派生出子类,父类的属性、方法自动被子类继承
多态:对不同类的对象发出相同的消息将会有不同的行为,‘一个接口,多种实现’
函数:
构造函数:主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,一个类可以有多个,根据参数个数的不同或参数类型的不同来区分它们
析构函数:在实例释放、销毁的时候执行的,通常用来做一些收尾工作,比如关闭数据库连接,打开的临时文件
私有属性:加上“__”即可

self.role = role

修改后:

self.__role = role#j就变成了私有的

私有方法:

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

修改后:

def __shot(self):#加上__就成了私有方法,外部无法访问
    print('shooting...')

示例:

class Role():#定义类
    def __init__(self,name,role,weapon,life_value=100,money=150):
        #构造函数,在实例化时做一些类的初始化的工作
        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))
    def __del__(self):#析构函数
    print('%s chedi over了'%self.name)
r1 = Role('wuyifan','police','AK47')#实例化,初始化一个类,并存储到内存
#上面的r1,执行构造函数的内容:
#r1 = Role._init_() return x345234
#r1=Role(r1,'wuyifan','police','15000'
#r1.name = 'wuyifan'
#r1.role='police'
#r1.money=15000
#self,用来接收r1,这个变量名,这个比较重要
r1.buy_gun('ak11')#等于Role.buy_gun(r1),所以每个方法都要有self,保存谁调用我,调用这个类
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值