第十九天作业

今日作业

1.什么是对象?什么是类?

对象是一系列特征和技能的结合体,类是一系列相同特征和技能的对象的结合体

2.绑定方法的有什么特点

绑定方法是定义在类内部的函数,这个函数自带一个self参数,这个self参数是用来接收对象的,当类直接调用这个函数时,它就只是一个普通函数,需要给这个self传值,当对象来调用这个函数时,这个函数就是绑定方法,这个self会自动接收到对象(哪个对象调用,接收的就是哪个对象),也就不需要给self传值

3.基于面向对象设计一个对战游戏

class hero:
    def __init__(self,name,atk,life,defence ):
        self.name = name
        self.atk = atk
        self.life = life
        self.defence = defence
    def attack(self,enemy):
        damage = self.atk - enemy.defence
        enemy.life -= damage
        print(f'{self.name}对{enemy.name}造成了{damage}点伤害')
        
# class hero2:
#     def __init__(self,atk = 100,life = 2200,defence = 100):
#         self.atk = atk
#         self.life = life
#         self.defence = defence
#     def attack(self,enemy):
#         damage = self.atk - enemy.defence
#         enemy.life -= damage

yas = hero('yas',150,1800,60)
san = hero('san',90,2200,110)

while True:
    if yas.life >0 and san.life>0:
        yas.attack(san)
        san.attack(yas)
    elif yas.life > 0 and san.life <= 0:
        print('yas获胜')
        break
    elif yas.life <= 0 and san.life > 0:
        print('san获胜')
        break

本来想定义两个英雄类,但是发现这两个类除了属性,其他的都是一样的,所以就只定义了一个英雄类,从这个类中制造了两个对象。

原文地址:https://www.cnblogs.com/lyyblog0715/p/11644249.html