zoukankan      html  css  js  c++  java
  • python day17面向对象-组合

    组合: 给一个类的对象封装一个属性,这个属性是另一个类的对象.
    class GameRole:
        def __init__(self, name, ad, hp):
            self.name = name
            self.ad = ad
            self.hp = hp
    
        def attack(self,p):
            p.hp = p.hp - self.ad
            print('%s 攻击 %s,%s 掉了%s血,还剩%s血' %(self.name,p.name,p.name,self.ad,p.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('%s 用%s打了%s,%s 掉了%s血,还剩%s血'
                  % (p1.name,self.name,p2.name,p2.name,self.ad,p2.hp))

    p1 = GameRole('大阳哥',20,500)#给对象封装属性
    p2 = GameRole('印度阿宁',50,200)
    axe = Weapon('三板斧',60)
    broadsword = Weapon('屠龙宝刀',100)
    p1.armament_weapon(axe) #给p1这个属性封装axe这个对象,就可以调用axe里的功能.
    p1.wea.fight(p1,p2)可以直接调用Weapon这个类里的函数,里面传了参数,因为wea装了axe = Weapon('三板斧',60).
    armament_weapon
     
  • 相关阅读:
    H5基础
    函数
    分支结构/循环结构
    图解 idea打jar包的步骤
    jmeter查看使用文档后总结
    Ride的使用
    Robot Framework
    jmeter+ant+jenkins
    ant
    Mysql选择合适的数据类型
  • 原文地址:https://www.cnblogs.com/snackpython/p/10012472.html
Copyright © 2011-2022 走看看