比方說,我有下面的類在子類擴展一個類屬性的一個巧妙的辦法
class Parent(object):
Options = {
'option1': 'value1',
'option2': 'value2'
}
和被稱爲兒童
class Child(Parent):
Options = Parent.Options.copy()
Options.update({
'option2': 'value2',
'option3': 'value3'
})
我希望能夠覆蓋或添加選項子孩子班。我正在使用的解決方案。但我相信有一個更好的方法來做到這一點。
編輯
我不想爲類的屬性,因爲我有沒有選擇其他類的屬性,我寧願保持所有選項在一個地方添加選項。這只是一個簡單的例子,實際的代碼比這更復雜。
的方式爲什麼不出貨父類的方法複製/更新邏輯?如果你把它放在`__init__`中,並且總是在子類`__init__`的末尾調用`super().__ init __()`,就像你應該這樣做,它應該可以工作。 – asmeurer 2013-06-16 20:56:25