2 回答
TA贡献2011条经验 获得超2个赞
您需要了解 OOP 的概念,如果您在对象构造期间发送参数,那么您的构造函数应该有参数来保存参数。
item.py
class Item:
def __init__(self, name):
self.name = name
def print_name(self):
print("The item name is " + self.name)
Gadget.py
from item import Item
class Gadget(Item):
def __init__(self, name, version):
Item.__init__(self, name)
self.version = version
def print_attribute(self):
print(self.name)
print(self.version)
Mobile_Phone.py
from Gadget import Gadget
class Mobile_Phone(Gadget):
def __init__(self, name, version):
Gadget.__init__(self, name, version)
item = Mobile_Phone("Iphone", "iOS")
item.print_name()
输出:
The item name is Iphone
TA贡献1836条经验 获得超5个赞
如果您的子类初始值设定项不对您传递的参数做任何事情,那么它们就会丢失。在您概述的模型中,您可以简单地省略子类中的初始值设定项以获得您想要的。
class MobilePhone(Gadget): # PEP8 calls for CamelCase here pass
在这种情况下,继承自的初始值设定项Gadget
是self.name
继承Item.print_name
引用的设置。
添加回答
举报