类的特性、公有私有属性和析构
admin
2023-07-19 05:01:55
0


```class Role(object):
    country="wuxi"  #公有属性
    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
        self.__eyes = 'good '#定义一个私有属性

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

    def got_shot(self):
        print("ah...,I got shot...")
        self.__eyes="heat"
        print(self.__eyes)
    def ttt(self):
        return self.__eyes #让外面获取私有属性,只能看不能修改

    def buy_gun(self, gun_name):
        print("%s just bought %s" % (self.name,gun_name))
        self.weapon=gun_name #修改公有属性

    def __del__(self):
        print("del.....run.....")

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

r2.buy_gun("核弹")
print(r2.weapon)
import  time
time.sleep(5)

## 调用方法修改过属性后再次调用属性将是被修改后的样子。(同一个实例)

## 类里的方法私有化
 def shot2(self):     # 定义一个方法
    print("It's my own!")
 r1.shot=shot2    # 把shut2传r1.shut
 r1.shot(r1)

## 公有属性
#country="wuxi" 在类里直接定义的属性即是公有属性
#实例里自己重新定义公有属性就不会去找父类里的公有属性,要是实例里没有定义就会去父类里找。
print(r1.country)
print(r2.country)
r1.country="suzhou"
print(r1.country)
print(r2.country)

## 私有属性
self.__eyes='good ' #定义一个私有属性
print(r2.__eyes) #无法直接访问,直接查看。
r2.got_shot() #只能内部访问
print(r2.ttt()) #让外面获取私有属性,只能看不能修改
print(r2._Role__eyes) #强制获取私有属性信息

## 类的析构方法(在实例销毁的时候自动调用)
def __del__(self):
   print("del.....run.....")

相关内容

热门资讯

民进党吴淑瑾将在澎湖上演“代夫... 争取连任的民进党籍澎湖县长陈光复重病住院逾4个月打乱布局,中央党部定于17日征召陈妻吴淑瑾“代夫出征...
一觉醒来!美伊达成协议,现货黄... 15日早盘,现货黄金高开,盘中一度突破4300美元,涨超2%。截至发稿报4285.486美元/盎司。...
伊媒发布伊美14点谅解备忘录详... 美国和伊朗达成谅解备忘录,伊朗迈赫尔通讯社发布了伊美14点谅解备忘录的详细信息:立即在所有战线(包括...
伊朗确认伊美达成谅解备忘录 据伊朗媒体15日报道,伊朗外交部副部长加里巴巴迪确认伊美谅解备忘录文本已最终确定,“伊斯兰堡备忘录”...
巴基斯坦总理:美伊已达成和平协... 当地时间15日,巴基斯坦总理夏巴兹·谢里夫称,经过密集谈判,美国与伊朗已达成和平协议。双方宣布立即永...
特朗普与泽连斯基通电话 乌克兰总统泽连斯基当地时间6月14日称,他与美国总统特朗普当天通了电话,就俄乌冲突问题进行了“长时间...
伊朗最高领袖顾问警告将打击以色... 当地时间6月14日深夜,伊朗最高领袖政治顾问韦拉亚提在社交媒体发文表示,“零时已至,发射装置正就位待...
伊朗外交部谴责以色列袭击贝鲁特... 当地时间14日晚,伊朗外交部发表声明,强烈谴责以色列当天下午对贝鲁特达希耶一处住宅区实施的军事行动,...
伊朗总统:伊朗最高国家安全委员... 新华社德黑兰6月14日电 据伊朗伊斯兰共和国广播电视台14日晚报道,伊朗总统佩泽希齐扬表示,伊朗最高...
伊朗西部地区机场航班暂停 据伊朗方面当地时间14日消息,伊朗西部地区的机场航班已暂停,直至另行通知。据称,此决定是基于当前情况...