|

楼主 |
发表于 2020-5-26 15:31:55
|
显示全部楼层
class Restaurant():
def __init__(self,restaurant_name,cuisine_type,*a): #不想在父类加*a,想直接在子类增加。有没有办法
self.name = restaurant_name
self.type = cuisine_type
self.number_served = 0
def describe_restaurant(self):
print('餐厅的名字是:' + self.name)
print('餐厅的类型是:' + self.type)
def open_restaurant(self):
print('餐厅正在营业')
def set_number_served(self,renshu):
self.number_served = renshu
def increment_number_served(self,renshu):
self.number_served = self.number_served + renshu
def number(self):
if self.number_served == 0:
print('只有' + str(self.number_served) +'人在' + self.name + '就餐!')
else:
print('已经有' + str(self.number_served) +'人在' + self.name + '就餐了!')
class Icecreamstand(Restaurant):
def __init__(self,restaurant_name,cuisine_type,*a):
super().__init__(restaurant_name,cuisine_type)
self.flavors = a
def flavor(self):
print(self.name + '的冰淇淋种类有:' + str(self.flavors) )
d = Restaurant('夜半食堂','中式餐饮')
d.describe_restaurant()
c = Icecreamstand('冰淇淋小店','甜品店','草莓味','西瓜味','橘子味','桃子味')
c.flavor()
这样是可以的,但是不想修改父类的形参,想在子类修改形参达到同样的效果。下面是有问题的代码,麻烦您给看下,谢谢啦
class Restaurant():
def __init__(self,restaurant_name,cuisine_type):
self.name = restaurant_name
self.type = cuisine_type
self.number_served = 0
def describe_restaurant(self):
print('餐厅的名字是:' + self.name)
print('餐厅的类型是:' + self.type)
def open_restaurant(self):
print('餐厅正在营业')
def set_number_served(self,renshu):
self.number_served = renshu
def increment_number_served(self,renshu):
self.number_served = self.number_served + renshu
def number(self):
if self.number_served == 0:
print('只有' + str(self.number_served) +'人在' + self.name + '就餐!')
else:
print('已经有' + str(self.number_served) +'人在' + self.name + '就餐了!')
class Icecreamstand(Restaurant):
def __init__(self,restaurant_name,cuisine_type,*a):
super().__init__(restaurant_name,cuisine_type)
self.flavors = a
def flavor(self):
print(self.name + '的冰淇淋种类有:' + str(self.flavors) )
d = Restaurant('夜半食堂','中式餐饮')
d.describe_restaurant()
c = Icecreamstand('冰淇淋小店','甜品店','草莓味','西瓜味','橘子味','桃子味')
c.flavor()
c.describe_restaurant()
跟上面我截图的代码一模一样的,不知道为什么现在又可以运行,输出也完全符合我的预期了。。好奇怪啊
|
|