python全栈--组合

组合:是给一个类的对象封装一个属性,封装的这个属性是另一个类的对象。
类:具有相同属性和技能的一类事物
对象:就是类的具体表现,具体的实例
class GameRole: #定义主角类
#name名字,ad攻击力,hp血量
	def __init__(self,name,ad,hp):
		self.name = name
		self.ad = ad
		self.hp = hp
	def armament_weapon(self,wea): #装备
		self.wea = wea
class Weapon: #武器类
    def __init__(self,name,ad):
        self.name = name
        self.ad = ad
    def fight(self,p1,p2):
        p2.hp = p2.hp - self.ad
        print("{}用{}打了{},{}掉了{}血,还剩{}血"
              .format(p1.name,self.name,p2.name,p2.name,self.ad,p2.hp))
#p1,p2,实例化GameRole的对象
p1 = GameRole('盖伦',20,500)
p2 = GameRole('亚索',50,200)
#三板斧,屠龙宝刀是武器类的对象
axe = Weapon('三板斧',60)
broadsword = Weapon('屠龙宝刀',10)
#p1调用装备这个方法,将三板斧装备给p1,作为p1的属性,注意,三板斧也是武器类的对象,这就叫组合
p1.armament_weapon(axe)
p1.wea.fight(p1,p2)	

在这里插入图片描述

图中所示,p1调用装备方法,将武器类中的三板斧这个对象作为属性传给了装备方法,axe也就变成了wea属性,从而给了p1。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值