博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面向对象编程-私有属性和私有方法
阅读量:5957 次
发布时间:2019-06-19

本文共 2346 字,大约阅读时间需要 7 分钟。

1.私有属性

1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 # Author:James Tao 4 class Role(object):#执行时之后就存在内存里 5  6     #构造函数 7     #作用:在实例化时做一些类的初始化工作,开辟一块内存 8     def __init__(self,name,role,weapon,life_value=100,money=15000): 9         self.name=name #实例变量(静态属性),作用域是实例本身,保存在实例的内存里10         self.role=role11         self.weapon=weapon12         self.__life_value=life_value #两个下划线,定义私有属性13         self.money=money14 15     #析构函数16     #作用:在实例释放、销毁的时候执行,通常用于一些收尾工作,例如,关闭一些数据库连接,打开的临时文件17     def __del__(self):#在实例释放的时候自动执行18         print('%s彻底死了' % self.name)19 20     def show_status(self):#私有属性在内部可以访问和修改21         print('''name:{_name} weapon:{_weapon} life_value:{_life_value}'''22               .format(_name=self.name,_weapon=self.weapon,_life_value=self.__life_value))23 24     def change_life_value(self):#私有属性在内部可以访问和修改25         self.__life_value=self.__life_value-1026 27     def shot(self):#类的方法,功能(动态属性)28         print('%s is shooting...' % self.name)29 30     def got_shot(self):31         print('%s is getting shot...' % self.name)32 33     def buy_gun(self,gun_name):34         print('%s has bought %s' % (self.name,gun_name))35 36 role1=Role('Trump1','terrorist','AWM')37 #print(role1.__life_value) #私有属性在外部不可以访问和修改38 role1.change_life_value()39 role1.show_status()

结果:

2.私有方法

1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 # Author:James Tao 4 #!/usr/bin/env python 5 # -*- coding:utf-8 -*- 6 # Author:James Tao 7 class Role(object):#执行时之后就存在内存里 8  9     #构造函数10     #作用:在实例化时做一些类的初始化工作,开辟一块内存11     def __init__(self,name,role,weapon,life_value=100,money=15000):12         self.name=name #实例变量(静态属性),作用域是实例本身,保存在实例的内存里13         self.role=role14         self.weapon=weapon15         self.__life_value=life_value #两个下划线,定义私有属性16         self.money=money17 18     #析构函数19     #作用:在实例释放、销毁的时候执行,通常用于一些收尾工作,例如,关闭一些数据库连接,打开的临时文件20     def __del__(self):#在实例释放的时候自动执行21         print('%s彻底死了' % self.name)22 23     def shot(self):#类的方法,功能(动态属性)24         print('%s is shooting...' % self.name)25 26     def __got_shot(self):#加两个下划线,定义私有方法27         print('%s is getting shot...' % self.name)28 29     def buy_gun(self,gun_name):30         print('%s has bought %s' % (self.name,gun_name))31 32 role1=Role('Trump1','terrorist','AWM')33 #role1.__got_shot() #私有方法在外部无法访问

 

转载于:https://www.cnblogs.com/BIT-taozhen/p/10127894.html

你可能感兴趣的文章