У меня есть класс, содержащий методы и конструктор в Python. Возвращаемое значение конструктора будет объектом, но мне нужно возвращаемое значение класса (конструктора), такого как numbers.Number
.Как изменить Суперкласс объекта?
Можно ли изменить возвращаемое значение класса, добавив numbers.Number
в качестве суперкласса этого класса, и если да, может кто-нибудь описать, как это сделать?
class Num(Parent):
#Some Code
#Here Parent must be inherited
class Foo(Num):
#Foo Should return of type numbers.Number
#Here Num must be inherited
Теперь я хочу Foo
вернуть number.Number
значение, когда мы называем конструктор Foo
.
Ваш класс завод не должен иметь номера. Число в качестве базового класса для создания объектов этого типа. Он может просто иметь метод, который создает объекты этого типа и возвращает их. Может быть, я что-то упустил. –
Конструкторы в Python ничего не возвращают. К тому моменту, когда они называются экземпляром класса какого-либо типа, уже существует-конструктор, требуется выполнить любую дальнейшую инициализацию. Возможно, вы сможете сделать то, что хотите, переопределив метод '__new __()', который определяет тип создаваемого объекта. В качестве альтернативы вам может понадобиться что-то, иногда описываемое как «виртуальный конструктор», - так и искать этот термин. Если у вас есть какой-то фактический код в вашем вопросе, иллюстрирующий то, что вы пытаетесь сделать, вы можете улучшить (или, по крайней мере, более конкретные) ответы. – martineau
@martineau, возможно, вы на правильном пути, можете ли вы уточнить, что с данным кодом, который я рассматривал? – Meet