class A:
@property
def prop(self) -> int:
return 1
def method(self) -> int:
return self.prop * 2 # Uses self.prop
< /code>
Dann habe ich eine Wrapper -Klasse, die versucht, diese Eigenschaft wie folgt zu überschreiben: < /p>
class B:
def __init__(self, a: A):
self._a = a
@property
def prop(self) -> int:
return 2 # Override A's property
def __getattr__(self, attr):
if attr in self.__dict__:
return getattr(self, attr)
return getattr(self._a, attr) # Delegate attribute access to A if attr not in B
< /code>
Wenn B.Method () aufgerufen wird, möchte ich, dass die Berechnung mit Bs Requisite durchgeführt wird und 4 als Ergebnis erhalten. Was stattdessen passiert, ist, dass die Prop innerhalb von a auflöst, und b.Method () gibt 2. < /P>
zurückb = B(a)
b.method() # Returns 2. Wanted 4
< /code>
Gibt es eine Möglichkeit, die Eigenschafts -Requisite in a zu überschreiben, wenn sie in A's Code verwendet wird, wenn sie von b? < /p>
< Br /> [*] Ich kann die Vererbung für diese Klassen nicht verwenden < /li>
Ich möchte vermeiden, dass die Methode () Logik in B < /li>
Ich habe auch versucht, __GetAttribute __
in B festzulegen, aber es scheint nicht einmal aufgeladen zu werden, wenn sie die Prop in a
Ich habe eine Klasse A mit einer Eigenschafts -Requisite und einer Methode, die diese Eigenschaft verwendet: < /p> [code]class A: @property def prop(self) -> int: return 1
def method(self) -> int: return self.prop * 2 # Uses self.prop < /code> Dann habe ich eine Wrapper -Klasse, die versucht, diese Eigenschaft wie folgt zu überschreiben: < /p> class B: def __init__(self, a: A): self._a = a
def __getattr__(self, attr): if attr in self.__dict__: return getattr(self, attr)
return getattr(self._a, attr) # Delegate attribute access to A if attr not in B < /code> Wenn B.Method () aufgerufen wird, möchte ich, dass die Berechnung mit Bs Requisite durchgeführt wird und 4 als Ergebnis erhalten. Was stattdessen passiert, ist, dass die Prop innerhalb von a auflöst, und b.Method () gibt 2. < /P> zurückb = B(a)
b.method() # Returns 2. Wanted 4 < /code> Gibt es eine Möglichkeit, die Eigenschafts -Requisite in a zu überschreiben, wenn sie in A's Code verwendet wird, wenn sie von b? < /p> < Br /> [*] Ich kann die Vererbung für diese Klassen nicht verwenden < /li> Ich möchte vermeiden, dass die Methode () Logik in B < /li> Ich habe auch versucht, __GetAttribute __ [/code] in B festzulegen, aber es scheint nicht einmal aufgeladen zu werden, wenn sie die Prop in a
Ich habe eine Klasse A mit einer Eigenschafts -Requisite und einer Methode, die diese Eigenschaft verwendet:
class A:
@property
def prop(self) -> int:
return 1
Ich habe gerade festgestellt, dass meine WordPress-Site einen kritischen Fehler auslöst. Ich habe gestern zum letzten Mal einen Beitrag veröffentlicht und er war in Ordnung. Seitdem habe ich keine...
Ich verwende Java 17 und muss einen Annotationsprozessor erstellen, der (wie Lombok) die vorhandenen Methoden ändert.
Das Ziel ist eine Annotation namens @LogThis, die ersetzt wird den Methodenkörper...
Ich habe eine Liste. Die Koordinate hat X, Y und Z, die doppelte Eigenschaften sind. Ich muss den Durchschnitt von X, den Durchschnitt von Y und den Durchschnitt von Z berechnen.