马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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. 子类的函数和父类相同,会覆盖掉父类方法,父类里的函数不受影响.
|