#类和对象
#什么是类?
#类的概念:具有相同的属性和行为特点的事物的抽象的集合
#人类 具有相同的属性和行为特点
#人类属性:身高 体重 年龄 性别 姓名....
#人类行为:吃喝拉撒睡
#什么是对象?
#对象的概念:类的具体的实例化
#人类中的对象:马云、马化腾、李彦宏......
# 类:list dict tuple dict
#对象名.属性名=属性值
#什么是类?
#类的概念:具有相同的属性和行为特点的事物的抽象的集合
#人类 具有相同的属性和行为特点
#人类属性:身高 体重 年龄 性别 姓名....
#人类行为:吃喝拉撒睡
#什么是对象?
#对象的概念:类的具体的实例化
#人类中的对象:马云、马化腾、李彦宏......
# 类:list dict tuple dict
#object python中顶级父类
class ADC(object):
#pass 为了保证语法完整性
# pass
#__init__初始化函数 当创建对象时,会自动执行该函数
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
#如果后羿的HP小于等于0,后羿死亡
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('鲁班')
# print(houyi)
获取对象的属性值
HP=houyi.HP
print(HP)
MP=houyi.MP
print(MP)
#如果对象没有这个属性,添加新属性,只有这个对象才有这个属性,其他对象没有
#对象名.属性名=属性值
houyi.FY=200
print(houyi.FY)
#如果对象原来有这个属性,修改对象属性值
houyi.HP=160
print(houyi.HP)
#删除对象的属性
#del 对象名.属性名
# del houyi.FY
# print(houyi.FY)
print('------------------------')
luban=ADC('鲁班',500,210,1,330)
#鲁班的攻击力
luban.GJ=400
# print(luban.FY) 错误!鲁班没有FY属性
#鲁班攻击后羿,计算后羿掉多少血
luban.fire(houyi)
print(luban)