面向对象编程-私有属性和私有方法

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=role
11         self.weapon=weapon
12         self.__life_value=life_value #两个下划线,定义私有属性
13         self.money=money
14 
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-10
26 
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=role
14         self.weapon=weapon
15         self.__life_value=life_value #两个下划线,定义私有属性
16         self.money=money
17 
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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值