Knight_day16
- 组合
组合:给一个类的对象封装一个属性,这个属性是另一个类的对象。
组合意义:让类的对象与另一个类的对象产生关系(类与类之间产生关系,除了组合,还有继承)
class GameRole: def __init__(self, name, ad, hp): self.name = name self.ad = ad self.hp = hp def attack(self, role): role.hp = role.hp - self.ad print('%s攻击了%s,%s掉了%s血,还剩%s血' % (self.name, role.name, role.name, self.ad, role.hp)) def equit_weapon(self, w): self.weapon = w class Weapon: def __init__(self, name, ad): self.name = name self.ad = ad def fight(self, role1, role2): role2.hp = role2.hp - self.ad print('%s用%s攻击了%s,%s掉了%s血,还剩%s血' % (role1.name, self.name, role2.name, role2.name, self.ad, role2.hp)) p1 = GameRole('盖伦', 20, 500) p2 = GameRole('剑豪', 100, 200) # p1.attack(p2) w1 = Weapon('大宝剑', 30) w2 = Weapon('武士刀', 80) # w2.fight(p2, p1)#这样不好,主体应该是人而不是武器 p1.equit_weapon(w1) p2.equit_weapon(w2) # print(p1.weapon) # print(w1) # p2.weapon.fight(p2, p1) w1.fight(p1, p2) p1.weapon.fight(p1, p2) w2.fight(p2, p1) p2.weapon.fight(p2, p1) ''' 盖伦用大宝剑攻击了剑豪,剑豪掉了30血,还剩170血 盖伦用大宝剑攻击了剑豪,剑豪掉了30血,还剩140血 剑豪用武士刀攻击了盖伦,盖伦掉了80血,还剩420血 剑豪用武士刀攻击了盖伦,盖伦掉了80血,还剩340血 '''
多个函数间进行选择,创建一个字典:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端