# 类和对象
# 什么是类
# 类的概念:具有相同的属性和行为特点的事物的抽象的集合
# 什么是对象
# 对象的概念: 类的具体的实例化
# object python中的顶级父类
class ADC(object):
# pass 为保证语法的完整性
# pass
# __init__(self)初始化函数 ,当创建对象时自动执行该函数
def __init__(self,name,HP,MP,SP,speed):
# 初始化一些对象的属性
# 对象.属性名 = 属性值
self.name = name
self.HP = HP
self.MP = MP
self.SP = SP
self.speed = speed
# 声明一个对象函数
# 对象函数, 只能由对象调用执行
def move(self):
# 对象A 调用move时,self就是对象A
# 对象B 调用move时,self就是对象B
# self就是执行该函数的对象
print (self)
# 带参数的对象函数
def fire(self,obj):
# 损失气血 = 鲁班攻击 - 后羿防御
down_hp = self.GJ - obj.FY
# 后羿损失气血
obj.HP = obj.HP - down_hp
# 判断
if obj.HP <= 0:
print ('%s 击杀了 %s'%(self.name,obj.name))
else:
print ('%s 攻击了 %s,%s 损失 %s 点气血'%(self.name,obj.name,obj.name,down_hp))
# 创建一个adc对象
# 对象名 = 类名()
houyi = ADC('后羿',500,200,1,325)
# 对象.函数名() 调用
houyi.move()
# 执行带参数的对象函数
#houyi.fire('鲁班')
# 获取对象的属性值
HP = houyi.HP
print(HP)
# 如果对象没有这个属性,添加新属性,只有该对象才有这个添加的属性
# 对象名.属性名 = 属性值
houyi.FY = 200
print (houyi.FY)
# 如果对象原来有这个属性,修改对象属性值
houyi.HP = 460
print (houyi.HP)
# 删除对象的属性
# del 对象名.属性名
# del houyi.FY
#
luban = ADC('鲁班',500,210,1,330)
# 攻击力
luban.GJ = 400
#鲁班攻击后羿,计算后羿掉多少血
luban.fire(houyi)