首页 > 程序开发 > 软件开发 > 其他 >

软件开发中类和对象解析

2018-02-01

软件开发中类和对象解析。

# 类和对象

# 什么是类?
# 类的概念:具有相同的属性和行为特点的事物的抽象的集合
# 人类属性:身高 体重 年龄  性别 姓名......
# 人类行为:吃喝拉撒睡
# 什么是对象?
# 对象概念:类的具体的实例化
# 人类中的对象:马云、马化腾、李彦宏.....
# 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(&#39;%s 击杀了 %s&#39;%(self.name, obj.name))
        else:
            print(&#39;%s 攻击了 %s,%s损失%s气血&#39;%(self.name, obj.name,obj.name,down_hp))

# 创建一个adc对象
# 对象名 = 类名()
houyi = ADC(&#39;后羿&#39;, 500, 200, 1, 325)
# 对象.函数名() 调用
houyi.move()
# 执行带参数的对象函数
# houyi.fire(&#39;鲁班&#39;)

# 获取对象的属性值
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)

#
luban = ADC(&#39;鲁班&#39;,500,210,1,330)
# 鲁班攻击力
luban.GJ = 400
# 鲁班攻击后羿,计算后羿掉多少血
luban.fire(houyi)
相关文章
最新文章
热点推荐