Day20作业及默写
1.请使用C3算法计算出链接图中的继承顺序-Link
一
graph BT
id1[A]-->id2[B]
id2[B]-->id6[F]
id6[F]-->id7[G]
id1[A]-->id3[C]
id3[C]-->id5[E]
id1[A]-->id4[D]
id4[D]-->id7[G]
id7[G]-->id0[object]
G = [GO]
F = [FGO]
E = [EO]
B = B + [FGO] = [BFGO]
C = C + [EO] = [CEO]
D = D + [GO] = [DGO]
A = A + [BFGO] + [CEO] + [DGO]
A = [BFGO] + [CEO] + [DGO]
AB = [FGO] + [CEO] + [DGO]
ABF = [GO] + [CEO] + [DGO]
ABFC = [GO] +[EO] + [DGO]
ABFCE = [GO] +[O] + [DGO]
ABFCED = [GO] +[O] + [GO]
ABFCEDG = [O] +[O] + [O]
ABFCEDGO
A -- > B -- > F -- > C -- > E --> D --> G --> object
二
graph BT
id1[A]-->id2[B]
id2[B]-->id4[D]
id2[B]-->id5[E]
id4[D]-->id6[F]
id6[F]-->id0[object]
id1[A]-->id3[C]
id3[C]-->id5[E]
id5[E]-->id7[G]
id7[G]-->id0[object]
F = [FO]
G = [GO]
D = D + [FO] = [DFO]
E = E + [GO] = [EGO]
B = B + [DFO] + [EGO] = [BDFEGO]
C = C + [EGO] = [CEGO]
A = A + [BDFEGO] + [CEGO]
A =[BDFEGO] + [CEGO]
AB =[DFEGO] + [CEGO]
ABD =[FEGO] + [CEGO]
ABDF =[EGO] + [CEGO]
ABDFC =[EGO] + [EGO]
ABDFCEGO
A -- > B -- > D -- > F -- > C -- > E -- > G -- > object
三
graph BT
id1[A]-->id2[B]
id2[B]-->id4[D]
id2[B]-->id5[E]
id4[D]-->id0[object]
id5[E]-->id7[G]
id7[G]-->id0[object]
id1[A]-->id3[C]
id3[C]-->id4[D]
id3[C]-->id6[F]
id6[F]-->id0[object]
G = [GO]
D = [DO]
E = E + [GO] = [EGO]
F = [FO]
B = B + [DO] + [EGO] = [BDEGO]
C = C + [DO] + [FO] = [CDFO]
A = A + [BDEGO] + [CDFO]
A = [BDEGO] + [CDFO]
AB = [DEGO] + [CDFO]
ABC = [DEGO] + [DFO]
ABCD = [EGO] + [FO]
ABCDEGFO
A -- > B -- > C -- > D -- > E --> G -- > F -- > object
2.请自己找一张类的继承图,按照C3算法说出它的继承顺序
3.运行代码,请说出结果,并说出为什么结果是这样?
class Foo:
def __init__(self):
self.func()
def func(self):
print('in foo')
class Son(Foo):
def func(self):
print('in son')
Son()
#Son() == Foo.__init__(self)
#Foo.__init__(self) == Foo.func()
#Foo.func() --> Son.func()
#print('in son')
4.继续完成计算器作业
5.默写 使用继承完成的人狗大战程序
class Animal(object):
def __init__(self,name,blood,ad):
self.name = name
self.hp = blood
self.ad = ad
class Dog(Animal):
def __init__(self,name,blood,ad,kind):
super().__init__(name,blood,ad)
self.kind = kind
def bite(self,person):
person.hp -= self.ad
print('%s攻击了%s,%s掉了%s点血' % (self.name, person.name, person.name, self.ad))
class Person(Animal):
def __init__(self,name,hp,ad,sex):
super().__init__(name,hp,ad)
self.sex = sex
def fight(self,dog):
dog.hp -= self.ad
print('%s攻击了%s,%s掉了%s点血'%(self.name,dog.name,dog.name,self.ad))
hei = Dog('小黑',300,20,'哈士奇')
alex = Person('alex',20,1,'不详')
alex.fight(hei)
print(hei.hp)
hei.bite(alex)
print(alex.hp)
Day20作业及默写的更多相关文章
- Day29作业及默写
作业: 1\ 默写 黏包协议 2\ 上传大文件(文件\视频\图片) 3\ 和你的同桌调通 从你的计算机上传一个视频到你同桌的电脑上 4\ 进阶 : 带上登录 Server #Server #!/usr ...
- Day11作业及默写
1.写函数,传入n个数,返回字典{'max':最大值,'min':最小值} 例如:min_max(2,5,7,8,4) 返回:{'max':8,'min':2}(此题用到max(),min()内置函数 ...
- Day10作业及默写
1,继续整理函数相关知识点,写博客. 2,写函数,接收n个数字,求这些参数数字的和.(动态传参) def func(*number): sum=0 for num in number: sum+=nu ...
- Day14作业及默写
1.整理今天所学内容,整理知识点,整理博客. pass 2.画好流程图. pass 3.都完成的做一下作业(下面题都是用内置函数或者和匿名函数结合做出): pass 4.用map来处理字符串列表,把列 ...
- Day13作业及默写
1. 整理今天的博客,写课上代码,整理流程图. 博客链接--博客园 2. 写一个函数完成三次登陆功能: 用户的用户名密码从一个文件register中取出. register文件包含多个用户名,密码,用 ...
- Day9作业及默写
1,整理函数相关知识点,写博客. 2,写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者. def func(obj): return obj[1::2] 3, ...
- Day8作业及默写
1,有如下文件,a1.txt,里面的内容为: 老男孩是最好的培训机构, 全心全意为学生服务, 只为学生未来,不为牟利. 我说的都是真的.哈哈 分别完成以下的功能: 将原文件全部读出来并打印. with ...
- Day7作业及默写
1. 判断一个数是否是水仙花数, 水仙花数是一个三位数, 三位数的每一位的三次方的和还等于这个数. 那这个数就是一个水仙花数. 例如: 153 = 1**3 + 5**3 + 3**3 InputNu ...
- Day6作业及默写
1.使⽤循环打印以下效果: 1: * ** *** **** ***** for num in range(1,6): print('*' * num) 2: ***** **** *** ** * ...
随机推荐
- Tree Requests CodeForces - 570D (dfs水题)
大意: 给定树, 每个节点有一个字母, 每次询问子树$x$内, 所有深度为$h$的结点是否能重排后构成回文. 直接暴力对每个高度建一棵线段树, 查询的时候相当于求子树内异或和, 复杂度$O((n+m) ...
- 第三周学习进度条+PSP0过程文档
第三周学习进度条 第三周 所花时间(包括上课) 14:30-15:35(65)+19:00-21:20(140)+17:52-19:00(68)+19:10-20:45(95)+21:00-22 ...
- 轻量级RPC
①自定义一个协议接口继承VersionedProtocol ②自定义协议类实现上面的接口,完善功能需求 ③服务端 ④客户端 二:模拟一个namenode
- 判断runtime是否运行在docker中及从docker中获取宿主机的ip信息
1.判断运行时环境是否运行在docker中 参考:How to determine if a process runs inside lxc/Docker? 确定进程是否在LXC/Docker中运行? ...
- zzw原创_oracle回收站相关操作知识
1.查询回收站状态语句 select * from user_recyclebin order by droptime desc 2.还原回收站 FLASHBACK TABLE << ...
- js如何返回两个数的商的整数和余数部分?
js中,如何返回两个数的商的整数和余数部分? 如: num1:100 ,num2:12 var num = parseFloat(100/12); //值: 8.333333333333334 那么如 ...
- mvc4自定义辅助器方法的学习
1.什么是辅助器 它们可以对代码块和标记进行打包,以便能够在mvc框架应用程序中重用.可以理解成编写在页面上的C#代码(方法). 2 .自定义辅助器 创建“基本”的mvc示例,并创建Basic控制器, ...
- 逆袭之旅DAY13.东软实训.Oracle.简单的查询语句.限制.排序
2018-07-09 21:34:00 一.简单查询: .查询数据表的所有列: SELECT * FROM 表名; SELECT 列名,列名.... FROM 表名; .起别名: SELECT 列名 ...
- laravel模型中设计使用单选按钮的方法:
模型中写入: const SEX_UN = 10;//未知: const SEX_BOY = 20;//男 const SEX_GRIL = 30;//女 public function sex($i ...
- 延时显示(类QQ头像显示)
<!doctype html> <html> <head> <meta charset="utf-8"> <meta name ...