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 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...
Dies wurde zuvor gefragt, aber ich habe keine Antworten gefunden, die für meinen Anwendungsfall funktionieren.
Ich habe ein vereinfachtes Spielzeugbeispiel erstellt, um mein Problem zu erklären....
Ich versuche, die Bindung von AvaloniaUI-Eigenschaften zu verstehen (ich habe fundierte WPF-Hintergrundkenntnisse). Ich habe bereits nach möglichen Duplikaten gesucht, aber keine Lösung für mein...
Ich habe ein Problem mit einem benutzerdefinierten UITextField-Wrapper in SwiftUI, der sich bei der Eingabe von Zahlen so weit ausdehnt, dass er den gesamten Bildschirm ausfüllt. Das Textfeld sollte...