![]() |
Frage zur Vererbung bei Propertys
Hi DP,
ich hab eine Frage zu Propertys von Klassen. Ich hab in der Eltern Klasse ein Property mit Getter und Setter Methode welchem ich in der Kinder Klasse gern einen anderen Namen geben würde. z.B. Eltern Klasse
Delphi-Quellcode:
Dann sollte der Name beim Child
property Empfaenger: String read GetEmpfaenger write SetEmpfaenger;
Delphi-Quellcode:
Sein aber das gleiche Feld bedienen da ich den Zugriff über Propertys regel und diese sind von Außen eh nicht sichtbar da private.
property Sender: String read GetEmpfaenger write SetEmpfaenger;
Wenn es hier keine solche Möglichkeit gibt welche Optionen habe ich dann? |
Re: Frage zur Vererbung bei Propertys
Du kannst die weitere Property ja zusätzlich einführen
|
Re: Frage zur Vererbung bei Propertys
Delphi-Quellcode:
wenn vom Child Zugriff auf diese Getter und Setter bestehen, dann geht das so
property Sender: String read GetEmpfaenger write SetEmpfaenger;
wenn du nur Zugriff auf das Property hast, dann wirst du wohl eigene Getter und Setter für dein Property schreiben müssen und leitest darin den Zugriff auf das alte Property weiter. |
Re: Frage zur Vererbung bei Propertys
Zitat:
Wenn du diese in der Eltern-Klasse in den protected-Bereich gibst, dann kannst du neue Klassen genau so davon ableiten und erweitern |
Re: Frage zur Vererbung bei Propertys
Zitat:
Zitat:
Gibt es eine Möglichkeit mit override; ? |
Re: Frage zur Vererbung bei Propertys
Namen überschreiben kann man nicht
und man kann die Sichtbarkeit nur erhöhen > also man kann Oroperties sichtbarer machen, aber nicht wieder unsichtbar = was einmal da/sichtbar ist, bleibt auch da/sichtbar |
Re: Frage zur Vererbung bei Propertys
Gibt es dafür einen plausiblen Grund, warum die Eigenschaft nicht mehr sichtbar sein soll?
ja -> Anfrage an embacadero nein -> what for :mrgreen: |
Re: Frage zur Vererbung bei Propertys
ersetzen geht nicht. Das würde auch keinen Sinn machen denn was soll dann passieren wenn es jemand auf die Vorgängerklasse castet?
Eine Variante wäre das du das Property in der Basisklasse unter protected declarierst. Somit kommt von außen keiner per Cast ran. Und in der abgeleiteten Klasse fügst du dann ein neues Property hinzu was nichts anderes macht als auf das Ursprungsproperty zu zugreifen. Aber ich denke du hast irgendwo einen Designfehler. Denn Vererbung und dann umbenennen macht keinen Sinn. Da hast du meiner Meinung nach die Vererbung nicht ganz verstanden. |
Re: Frage zur Vererbung bei Propertys
Ok ich glaub ich werd mir da noch mal ein paar gedanken zu machen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:14 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz