码迷,mamicode.com
首页 > 其他好文 > 详细

Class 类的组合

时间:2018-07-21 14:28:19      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:对象   一个   and   color   bit   class   余额   col   person   

定义:一个对象的属性值是另外一个类的对象

# 人狗大战
class Dog:
    def __init__(self,name,aggr,hp,kind):
        self.name = name
        self.aggr = aggr
        self.hp = hp
        self.kind = kind

    def bite(self,person):
        person.hp -= self.aggr

class Person:
    def __init__(self,name,aggr,hp,sex):
        self.name = name
        self.aggr = aggr
        self.hp = hp
        self.sex = sex
        self.money = 0

    def attack(self,dog):
        dog.hp -= self.aggr

    def get_weapon(self,weapon):
        if self.money >= weapon.price:
            self.money -= weapon.price
            self.weapon = weapon                #关键点:要把weapon函数传给self;让self具有Weapon里的方法
            self.aggr += weapon.aggr
        else:
            print("余额不足,请先充值")

class Weapon:
    def __init__(self,name,aggr,njd,price):
        self.name = name
        self.aggr = aggr
        self.njd = njd
        self.price = price

    def hand18(self,person):
        if self.njd > 0:
            person.hp -= self.aggr * 2
            self.njd -= 1

alex = Person(alex,0.5,100,不详)
jin = Dog(金老板,100,500,teddy)
w = Weapon(打狗棒,100,3,998)
# alex装备打狗棒
alex.money += 1000
alex.get_weapon(w)
print(alex.weapon)
print(alex.aggr)
alex.attack(jin)
print(jin.hp)
alex.weapon.hand18(jin)
print(jin.hp)
alex.weapon 是 Weapon类的对象 ,这就叫类的组合。

Class 类的组合

标签:对象   一个   and   color   bit   class   余额   col   person   

原文地址:https://www.cnblogs.com/shajing/p/9345826.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!