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: ***** **** *** ** * ...
随机推荐
- css 选择器三
2.4.10 浮动 浮动是css里面布局最多的一个属性,也是很重要的一个属性. float:表示浮动的意思.它有四个值. none: 表示不浮动,默认 left: 表示左浮动 right:表示右浮动 ...
- javascript作用域、闭包、对象与原型链
原文作者总结得特别好,自己收藏一下.^-^ 1.作用域1.1函数作用域JS的在函数中定义的局部变量只对这个函数内部可见,称之谓函数作用域.它没有块级作用域(因此if.for等语句中的花括号不是独立作用 ...
- sku 加减号的增删
---恢复内容开始--- //php页面public function test(){ $id="1"; $data=Db::table('week3_goods') ->j ...
- python中类的概念
在Python中,所有数据类型都可以视为对象,也可以自定义对象.自定义的对象即面向对象中的类(Class)的概念. class Student(object): def __init__(self, ...
- Python返回函数、闭包,匿名函数
函数不仅可以作为函数参数,还可以作为函数返回结果 def pro1(c,f): def pro2(): return f(c) return pro2 #调用pro1函数时,返回的是pro2函数对象& ...
- button disable and enable
1. disable <button id="buttonId" disabled>......</button> $("#buttonId&qu ...
- jQuery-全屏滚动插件【fullPage.js】API 使用方法总结
jQuery-全屏滚动插件[fullPage.js]API 使用方法总结 jQuery-全屏滚动插件fullPage.js使用方法总结 作者github及下载地址:https://github.c ...
- Python 正则实现计算器
# !/usr/bin/env/ python3 # -*- coding: utf-8 -*- """用户输入计算表达式,显示计算结果""" ...
- Vue.js 引入外部js方法
1.外部文件config.js 第一种写法 //常量的定义 const config = { baseurl:'http://172.16.114.5:8088/MGT2' } //函数的定义 fun ...
- Nop 4.1版本已经迁移到.net core2.1版本
1. github 下载,4.1版本,运行, install时,会让你新增后台账户密码,sql服务器 2. 在Configuration 新增Language 3. 上传中文语言包 , 你也可以先导出 ...