面向对象
Posted zhangyajie
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象相关的知识,希望对你有一定的参考价值。
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)
# 首先静态变量之所以出现 : 所有的对象都共享的值
# 调整静态变量的值 : 直接用类名去调整 是最准确的
# 对象对一个静态变量重新赋值的过程
# 实际上是在对象所在的内存空间中添加了一个同名属性而已
# 方法并没有真正存储在对象的空间中
# 之所以能找到,是因为每一个对象在创建之初都有一个执行类的指针
# 类名
# 查看修改静态属性
# 实例化
# 对象名
# 查看对象的属性
# 调用方法
# 对象使用名字的特点 : 自己有的时候用自己的 自己没有的时候用类中的
以上是关于面向对象的主要内容,如果未能解决你的问题,请参考以下文章