练习题的问题

来源:6-2 编程练习

K26383477

2021-08-13 15:18:05

http://img.mukewang.com/climg/61161b1f09cd11b114780510.jpg


按照其他同学写的代码有点不能理解.

1, 重新写其构造方法 __init__()

我的理解会这样写: 

 def __init__(self, x, y ):

这个是对继承Point重写构造的方法



2. radius 通过子类重写 __init__()进行赋值

其次:

super().__init__(radius)

self.radius = redius#这是对他的赋值


写回答

1回答

好帮手慕念

2021-08-13

同学,你好!

1、子类Circle继承重写父类Point的__init__()方法即def __init__(self,x,y,radius),radius参数是子类Circle拥有的,在实例化时,通过传入参数赋值给self.radius,如下图

http://img.mukewang.com/climg/61162f25093499f904630230.jpg

2、这行代码即super(Circle,self).__init__(x,y)中的x和y是父类Point下的__init__()中的参数,相当于在子类Circle__init__()方法中调用父类Point的__init__()方法

http://img.mukewang.com/climg/61162fb409ed6bbb06080463.jpg

祝学习愉快!

0

0 学习 · 4469 问题

查看课程