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