|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
小甲鱼上课代码
import random as r
class Fish:
def __init__(self):
self.x = r.randint(0,10)
self.y = r.randint(0,10)
def move(self):
self.x -= 1
print('我现在的位置是',self.x,self.y)
class Shark(Fish):
def __init__(self):
super().__init__()
self.hungry = True
def eat(self):
if self.hungry:
print('我饿了,我要吃')
self.huangry = False
else:
print('吃饱了,不吃了')
import random as r
class Fish:
def __init__(self):
self.x = r.randint(0,10)
self.y = r.randint(0,10)
def move(self):
self.x -= 1
print('我现在的位置是',self.x,self.y)
class Shark(Fish):
def eat(self):
self.hungry = True
if self.hungry:
print('我饿了,我要吃')
self.huangry = False
else:
print('吃饱了,不吃了')
视频讲的避免子类的__init__方法覆盖父类的方法,那我在子类不写入__init__方法不就可以了吗,这样做有什么不足吗?
还有我在方法里面定义的
def eat(self):
self.hungry = True
这样 self.hungry是不是就不算Shark这个类的属性了??
还有如果我是多重继承并且每个类都有__init__的话,怎么用super()函数找到我需要的那个类的__init__
求大佬指导
1.对的,但是假如你要调用父类的__init__会有些麻烦
2.算的。
3.会先调用较早定义的类,一个super所有父类都会被调用。
指定的话只能通过xx.__init__(xx是父类)来调用
|
|