溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

類(lèi)的特性、公有私有屬性和析構(gòu)

發(fā)布時(shí)間:2020-05-23 08:43:47 來(lái)源:網(wǎng)絡(luò) 閱讀:1017 作者:堅(jiān)持和學(xué)習(xí) 欄目:編程語(yǔ)言


```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 '#定義一個(gè)私有屬性

    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') # 生成一個(gè)角色
r2 = Role('Jack', 'terrorist', 'B22')  #生成一個(gè)角色

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

## 調(diào)用方法修改過(guò)屬性后再次調(diào)用屬性將是被修改后的樣子。(同一個(gè)實(shí)例)

## 類(lèi)里的方法私有化
 def shot2(self):     # 定義一個(gè)方法
    print("It's my own!")
 r1.shot=shot2    # 把shut2傳r1.shut
 r1.shot(r1)

## 公有屬性
#country="wuxi" 在類(lèi)里直接定義的屬性即是公有屬性
#實(shí)例里自己重新定義公有屬性就不會(huì)去找父類(lèi)里的公有屬性,要是實(shí)例里沒(méi)有定義就會(huì)去父類(lèi)里找。
print(r1.country)
print(r2.country)
r1.country="suzhou"
print(r1.country)
print(r2.country)

## 私有屬性
self.__eyes='good ' #定義一個(gè)私有屬性
print(r2.__eyes) #無(wú)法直接訪(fǎng)問(wèn),直接查看。
r2.got_shot() #只能內(nèi)部訪(fǎng)問(wèn)
print(r2.ttt()) #讓外面獲取私有屬性,只能看不能修改
print(r2._Role__eyes) #強(qiáng)制獲取私有屬性信息

## 類(lèi)的析構(gòu)方法(在實(shí)例銷(xiāo)毀的時(shí)候自動(dòng)調(diào)用)
def __del__(self):
   print("del.....run.....")
向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI