|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- 测试题:
- 0.
- 类似的对象可以继承相同类来实现,大大降低了代码量.
- 1.
- 给类声明的时候报错,只能返回None
- __init__方法不返回除None以外的任何对象.
- 2.
- 不会,子类定义和父类同名的方法,会覆盖掉父类的方法,但是父类的方法依然在父类中保持不变.
- 3.
- 在企鹅类重新定义父类的飞方法.
- 4.
- super()写上后,不用考虑是第几重继承,反正是继承上面的类就是了.super()不会出现菱形继承的问题.
- 5.
- 因为是菱形继承,在A中可能一个计数器会多次使用到,这是不符合设计程序的初衷的.
- 6.
- 类名.__init__(self)换为super().__init__()
- 动动手:
- 0.
- import math as m
- class Point:
- def __init__(self,x,y):
- self.x = x
- self.y = y
-
- class Line:
- def __init__(self,p1,p2):
- self.p1 = p1
- self.p2 = p2
- def getLen(self):
- return (m.sqrt((p1.x-p2.x) ** 2 + (p1.y-p2.y) ** 2))
- 课堂笔记:
- 1. 类中的元素是不用self方法的,类中的方法第一个参数必须是self,类中的魔方方法init,里面的参数用魔方方法.
- 2. 何时用self何时不用:
- a. self指的是实例化后的对象名,如果需要不同对象名的参数不同,此参数需要用self并用init初始化,如果此参数是大家用的都一样的,就可以写到公用参数里.
- b. 例子:class FIsh里,need = water是大家的共有特征,可写在前面,而name是大家都有的,但是每个对象又不一样,所以用self.name.
- 3. 子类初始化时如果和父类有继承,也有独创,用super().__init__()即可.
- 4. 子类的函数和父类相同,会覆盖掉父类方法,父类里的函数不受影响.
复制代码 |
|