您的位置:首页 > 编程语言 > Python开发

基于python的类和对象

2018-01-29 21:23 197 查看
# 类和对象

# 什么是类?
# 类的概念:具有相同的属性和行为特点的事物的抽象的集合
# 人类属性:身高,体重,年龄,性别
# 人类的行为:吃喝拉撒睡

# 什么是对象?
# 对象概念:类的具体的实例化
# 人类中的对象:马云,马化腾,李彦宏

# 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('鲁班')

HP = houyi.HP
print(HP)
MP = houyi.MP
print(MP)

# 如果对象没有这个属性,添加新属性,只有这个对象才有这个属性,其他对象没有
# 对象名.属性名 = 属性值
houyi.FY = 200
print(houyi.FY)
# 如果对象原来有这个属性,修改对象属性值
houyi.HP = 460
print(houyi.HP)

# 删除对象的属性
# del  对象名.属性名
# del houyi.FY
# print(houyi.FY)

luban = ADC('鲁班',500,210,1,330)
# 鲁班的攻击力
luban.GJ = 400
# 鲁班攻击后羿,计算后羿掉多少血
luban.fire(houyi)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: