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
引用的設置。
添加回答
舉報