第五章---面向对象---小练习
练习1:编写一个学生类,产生一堆学生对象要求:有一个计数器(属性),统计总共实例化了多少个对象
1 class Student: 2 school = 'luffycity' 3 count = 0 4 5 def __init__(self,name,age,sex): 6 self.name = name 7 self.age = age 8 self.sex = sex 9 # self.count += 1 # 只能累加到独有的对象上面 10 Student.count += 1 # 累加到全局的count上面 11 12 def learn(self): 13 print('%s is learning'% self.name) 14 15 stu1 = Student('mm',18,'女') 16 stu2 = Student('mumu',1,'男') 17 18 print(stu1.count) 19 print(Student.count)
练习2:模仿LoL定义两个英雄类要求:英雄需要有昵称,攻击力,生命值等属性实例化出两个英雄对象英雄之间可以互殴,被殴打的一方掉血,血量小于0则判定为死亡
1 class HeroDog: 2 def __init__(self,name,attack,life_value): 3 self.name = name 4 self.attack = attack 5 self.life_value = life_value 6 7 def attack_other(self,enemy): 8 enemy.life_value -= self.attack 9 if enemy.life_value <= 0: 10 print('%s 没有血量,宣布死亡!'% enemy.name) 11 else: 12 print('%s血量剩余%s'% (enemy.name,enemy.life_value)) 13 14 class HeroPig: 15 def __init__(self,name,attack,life_value): 16 self.name = name 17 self.attack = attack 18 self.life_value = life_value 19 20 def attack_other(self,enemy): 21 enemy.life_value -= self.attack 22 if enemy.life_value <= 0: 23 print('%s 没有血量,宣布死亡!'% enemy.name) 24 else: 25 print('%s血量剩余%s'% (enemy.name,enemy.life_value)) 26 27 hero_d = HeroDog('dog',10,100) 28 hero_p = HeroPig('pig',20,80) 29 30 hero_d.attack_other(hero_p) 31 hero_d.attack_other(hero_p) 32 hero_p.attack_other(hero_d) 33 hero_p.attack_other(hero_d)
转载于:https://www.cnblogs.com/mumupa0824/p/8950324.html
第五章---面向对象---小练习相关推荐
- Java第五章——面向对象(二)
第五章面向对象(中) 1.访问控制修饰符 2.继承 3.组合 4.重载 5.覆盖(覆写) 重点: 封装(java访问控制权限) 继承(定义.子类访问控制权限) 类的组合的实现(与继承的区别) 多态(重 ...
- 第十五章 面向对象程序设计
第十五章 面向对象程序设计 OOP:概述 面向对象程序设计(object-oriented programming)的核心思想是数据抽象.继承和动态绑定. 继承(inheritance): 通过继承联 ...
- 第五章 面向对象(上)
Java是面向对象的程序设计语言,Java语言提供了定义类.成员变量.方法等最基础的功能,类可被认为是一种自定义的数据类型,可以使用类来定义变量,所有使用类定义的变量都是引用变量,它们将引用到类的对象 ...
- 《操作系统》第五章课堂小测
<操作系统>第05章课堂小测 例题1 设有4个作业同时到达,每个作业的执行时间均为 2h,它们在一台处理器上按单道式运行,则平均周 转时间为( B ). A. 1h ...
- pybind11中文资料(第五章 面向对象的代码)
在此我要特别感谢pybind11项目创立者 Wenzel Jakob以及众多项目参与者 5面向对象的代码 5.1创建自定义类型的绑定 现在来看一个更复杂的例子,这个例子为名为Pet的自定义数据结构创建 ...
- 第五章面向对象编程设计与开发
5.1 什么是面向对象的程序设计 面向过程的程序设计 优点:复杂的问题流程化,进而简单化 缺点:一套流水线或者流程就是用来解决一个问题,扩展性极差. 应用场景:面向过程的程序设计思想一般用于那些功能一 ...
- 第二十五章 面向对象------封装、内置函数、反射、动态导入
1.封装 什么是封装? 1.对外部隐藏内部的属性,以及实现细节,给外部提供使用的接口 注意:封装有隐藏的意思,但不是单纯的隐藏 学习封装的目的:就是为了能够限制外界对内部数据的访问 python中属性 ...
- 第五章 ---- 面向对象(二)
面向对象二 2.三大特征 2.1.继承性 2.1.1.方法重写 2.1.2.子类实例化过程 2.2.多态性 3.关键字 3.1.super 4.常用类说明 String String概述 字面量方式 ...
- c++primer(第五版) 第十五章 面向对象程序设计习题答案
纯原创 转载请注明出处:http://blog.csdn.net/axuan_k 略过书上有现成代码的题目 15.1 15.2 15.1 虚成员是基类中的概念 基类中的某些函数希望它的派生类能 ...
- 第五章 面向对象——多态 课后作业:
1.编码创建一个打印机类Printer,定义抽象方法print( );创建俩个子类,即针式打印机类DotMatrixPrinter和喷墨打印机类InkpetPringter,并在各自类中重写方法pri ...
最新文章
- Spring JTA应用JOTM Atomikos III Atomikos
- 搜索引擎anti-spam系统设计指南
- ios uilabel 根据文字 计算宽度 高度
- 【CodeForces - 255C】Almost Arithmetical Progression (dp,离散化)
- python安装报错类型_解决Python安装cryptography报错问题
- mvn 命令向本地仓库上传 jar
- flutter GestureDetector 手势处理
- JAVA零碎要点014---java+selenium环境搭建_浏览器自动化测试框架
- mysql 取消密码警告
- DB2 V10.5 PureScale支持HADR
- Java原生网络编程
- 任务管理器被管理员禁用如何解决
- java:comp/env 解释
- Altium Designer 18板子信息命令
- 怎么计算java对象的大小?
- 8.mysql备份恢复
- 企业经营(数据)分析
- html - 表头固定在顶部的一种实现思路
- 个人博客上线了!!!(官宣
- 压缩感知重构算法之正交匹配追踪算法(OMP)