ziheng - 类与对象和魔法方法

class tangsen:
    def __init__(self):
        self.name = "tangsen"
        self.gongji = 80
        self.magic = 500
        # 把hp属性隐藏起来,在属性名前下载两个下划线
        self.__hp = 2000
        self.speed = 100
        # 皮肤

    def huo_de_hp(self):
        print(self.__hp)

    def she_zhi_hp(self, new_hp):
        if new_hp > 99999:
            print("已发现那你开挂,封号至2999年")
        elif new_hp < 100000:
            self.__hp = new_hp

    def jineng1(self):
        print("镇魔曲")
        print("范围攻击,强制眩晕三秒,伤害1000点")

    def jineng2(self):
        print("如来神掌")
        print("单体远程攻击,减速50%,伤害1500点(有燃烧伤害,持续8秒,每50点伤害)")

    def jineng3(self):
        print("紧箍神咒")
        print("持续全图攻击25秒,随机攻击4个英雄,每秒攻击300点")

    # 魔法方法:方法名前后有两个下划线,并且有特殊的功能
    def __str__(self):
        return "我是唐僧,我有多少血量%d" %self.__hp

    def __del__(self):
        print("我唐僧居然已被击杀")

    # 复活功能
    def __new__(cls, *args, **kwargs):
        print("我出生啦,尔等回泉水呆着吧")
        return  object.__new__(cls)


# 创建一个唐僧对象
t1 = tangsen()
t1.she_zhi_hp(10000)
t1.huo_de_hp()
t1.jineng1()
print(t1.gongji)
t1.gongji = t1.gongji+20
print(t1.gongji)
print(t1)

# 删除一个对象
del t1

t2 = tangsen()




```
发布了516 篇原创文章 · 获赞 21 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/houlaos/article/details/104983334