今日作业
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
本来想定义两个英雄类,但是发现这两个类除了属性,其他的都是一样的,所以就只定义了一个英雄类,从这个类中制造了两个对象。