首页 / PYTHON / python面向对象之三大特性
python面向对象之三大特性
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python面向对象之三大特性,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1501字,纯文字阅读大概需要3分钟。
内容图文
![python面向对象之三大特性](/upload/InfoBanner/zyjiaocheng/842/4968b4f018ce43a790b8f8cbc0f9bc0d.jpg)
三大特性
- 继承
- 多态
- 封装
类的组合用法
面向对象的用法
一个对象的属性值是另外一个类的对象,就是组合
# 定义了一个Dog类,有名字,攻击力,血量,种类,并且有咬的技能(方法) 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.aggr += weapon.aggr # 人的攻击力加上武器的攻击力 else: print('余额不足') # 如果钱不够,则报错 # 定义了一个武器类,有名称,攻击力,耐久度,价钱,还有大招hand18 class Weapon: def __init__(self,name,aggr,njd,price): self.name = name self.aggr = aggr self.njd = njd self.price = price def hand18(self,dog): if self.njd >0: # 使用大招有限度 dog.hp -= self.aggr *2 # 血量直接减去武器攻击力的两倍 self.njd -=1 # 耐久度减去1 w = Weapon('打狗棒',100,3,998) # 实例化一个打狗棒武器 alex = Person('alex',0.5,100,'male') # 实例化一个alex人对象 jin = Dog('金老板',100,500,'teddy') # 实例化一个狗对象 alex.money =1000 # 人的金钱增加,可以买武器 alex.get_weapon(w) # alex获得武器 alex.attack(jin) # 攻击狗对象 alex.weapon.hand18(jin) # 使用武器大招攻击 print(jin.hp)
内容总结
以上是互联网集市为您收集整理的python面向对象之三大特性全部内容,希望文章能够帮你解决python面向对象之三大特性所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。