python_面向对象——对象间的组合关系
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python_面向对象——对象间的组合关系,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1344字,纯文字阅读大概需要2分钟。
内容图文
![python_面向对象——对象间的组合关系](/upload/InfoBanner/zyjiaocheng/666/b3a3744778364fc5af2e1f5e44f6378b.jpg)
# 由一堆组件构成一个完整的实体,组建本身独立,但又不能自己运行,必须跟宿主组合在一起,运行。 class Dog: #狗 def __init__(self,name,dog_type,attack_val): self.name = name #姓名 self.dog_type = dog_type #种类 self.attack_val = attack_val #攻击力 self.life_val = 100 #生命值 class Person: #人 def __init__(self,name,sex,attack_val): self.name = name #姓名 self.sex = sex #种类 self.attack_val = attack_val #攻击力 self.life_val = 100 #生命值 self.weapon = Weapon() #直接实例化武器类 def attack(self,obj,weapon_name,weapon_val): agg = weapon_val + self.attack_val #人的攻击力等于自身攻击力加上武器的攻击之和 life_val = obj.life_val - agg #狗的生命值减去人的攻击力,得到狗的剩余生命 print('{}使用{}攻击了{},{}损失{}点生命值,剩余生命值{}'.format(self.name,weapon_name,obj.name,obj.name,weapon_val,life_val)) class Weapon: #武器 def stick(self): #打狗棒 self.name = '打狗棒' self.attack_val = 25 return self.name,self.attack_val def knife(self,obj): #屠龙刀 self.name = '屠龙刀' self.attack_val = 40 def gun(self,obj): #AK47 self.name = 'AK47' self.attack_val = 40 d = Dog('小黑','哈士奇',20) #小黑 p = Person('wdc','男',30) #wdc weapon_name,weapon_val = p.weapon.stick() #使用对象p执行武器类中的方法:这里选择的武器是stick()方法下的"打狗棍" p.attack(d,weapon_name,weapon_val) #执行p对象下的attack(攻击)方法,人攻击狗(狗的对象,武器名称,武器攻击力)
内容总结
以上是互联网集市为您收集整理的python_面向对象——对象间的组合关系全部内容,希望文章能够帮你解决python_面向对象——对象间的组合关系所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。