码迷,mamicode.com
首页 > 其他好文 > 详细

面向对象

时间:2018-05-24 18:15:01      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:空间   user   self   iba   ted   静态   elf   none   style   

class Person:
    def __init__(self,name,sex,hp,ad):  # 初始化方法
        self.user = name
        self.sex = sex
        self.hp = hp
        self.ad = ad
    def attack(self,dog):
        print(%s攻击了%s%(self.user,dog.user))
        dog.hp -= self.ad
        print(%s掉了%s点血,当前血量为%s%(dog.user,self.ad,dog.hp))

class Dog:
    def __init__(self,name,kind,hp,ad):  # 初始化方法
        self.user = name
        self.kind = kind
        self.hp = hp
        self.ad = ad
    def bite(self,person):
        print(%s咬了%s % (self.user, person.user))
        person.hp -= self.ad
        if person.hp>0:
            print(%s掉了%s点血,当前血量为%s % (person.user, self.ad, person.hp))
        else:
            person.hp = 0
            print(%s掉了%s点血,当前血量已为0 % (person.user, self.ad))
alex = Person(alex, None, 10, 1)  # 实例化
egon = Person(egon, None, 10, 1)  # 实例化
taibai = Dog(哮天犬,teddy, 100, 50)  # 实例化
# print(alex.user)
# print(egon.user)
# print(taibai.user)
alex.attack(taibai)   # <==>Person.attack(alex,taibai)
print(taibai.hp)

# 首先静态变量之所以出现 : 所有的对象都共享的值
# 调整静态变量的值 : 直接用类名去调整 是最准确的
# 对象对一个静态变量重新赋值的过程
# 实际上是在对象所在的内存空间中添加了一个同名属性而已
# 方法并没有真正存储在对象的空间中
# 之所以能找到,是因为每一个对象在创建之初都有一个执行类的指针

# 类名
# 查看修改静态属性
# 实例化
# 对象名
# 查看对象的属性
# 调用方法
# 对象使用名字的特点 : 自己有的时候用自己的 自己没有的时候用类中的

 

面向对象

标签:空间   user   self   iba   ted   静态   elf   none   style   

原文地址:https://www.cnblogs.com/ZJGG/p/9083775.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!