AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Frage zur Vererbung bei Propertys

Ein Thema von ryLIX · begonnen am 10. Jan 2010 · letzter Beitrag vom 10. Jan 2010
Antwort Antwort
ryLIX

Registriert seit: 16. Nov 2008
Ort: Westoverledingen
264 Beiträge
 
RAD-Studio 2009 Pro
 
#1

Frage zur Vererbung bei Propertys

  Alt 10. Jan 2010, 20:15
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
property Empfaenger: String read GetEmpfaenger write SetEmpfaenger; Dann sollte der Name beim Child
property Sender: String read GetEmpfaenger write SetEmpfaenger; Sein aber das gleiche Feld bedienen da ich den Zugriff über Propertys regel und diese sind von Außen eh nicht sichtbar da private.

Wenn es hier keine solche Möglichkeit gibt welche Optionen habe ich dann?
Markus
Hamburflys, Scrubble-Fubble-Puff-Shake, Muffin-Purper-Gurk?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Frage zur Vererbung bei Propertys

  Alt 10. Jan 2010, 20:17
Du kannst die weitere Property ja zusätzlich einführen
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#3

Re: Frage zur Vererbung bei Propertys

  Alt 10. Jan 2010, 20:18
property Sender: String read GetEmpfaenger write SetEmpfaenger; wenn vom Child Zugriff auf diese Getter und Setter bestehen, dann geht das so

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.
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

Re: Frage zur Vererbung bei Propertys

  Alt 10. Jan 2010, 20:21
Zitat von ryLIX:
Dann sollte der Name beim Child
property Sender: String read GetEmpfaenger write SetEmpfaenger; Sein aber das gleiche Feld bedienen da ich den Zugriff über Propertys regel und diese sind von Außen eh nicht sichtbar da private.
Hiermit greifst du aber auch nicht auf die Felder, sondern auf die Getter und Setter zu.

Wenn du diese in der Eltern-Klasse in den protected-Bereich gibst, dann kannst du neue Klassen genau so davon ableiten und erweitern
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
ryLIX

Registriert seit: 16. Nov 2008
Ort: Westoverledingen
264 Beiträge
 
RAD-Studio 2009 Pro
 
#5

Re: Frage zur Vererbung bei Propertys

  Alt 10. Jan 2010, 21:07
Zitat von mkinzler:
Du kannst die weitere Property ja zusätzlich einführen
Ich möchte es ja ersetzten nicht erweitern in der abgeleiteten Klasse.


Zitat von himitsu:
property Sender: String read GetEmpfaenger write SetEmpfaenger; wenn vom Child Zugriff auf diese Getter und Setter bestehen, dann geht das so

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.
Gut diese Möglichkeit besteht aber nun ist ja das property immer noch sichtbar in der abgeleiteten Klasse.

Gibt es eine Möglichkeit mit override; ?
Markus
Hamburflys, Scrubble-Fubble-Puff-Shake, Muffin-Purper-Gurk?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#6

Re: Frage zur Vererbung bei Propertys

  Alt 10. Jan 2010, 21:11
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
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

Re: Frage zur Vererbung bei Propertys

  Alt 10. Jan 2010, 21:12
Gibt es dafür einen plausiblen Grund, warum die Eigenschaft nicht mehr sichtbar sein soll?

ja -> Anfrage an embacadero
nein -> what for
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Frage zur Vererbung bei Propertys

  Alt 10. Jan 2010, 21:13
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.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
ryLIX

Registriert seit: 16. Nov 2008
Ort: Westoverledingen
264 Beiträge
 
RAD-Studio 2009 Pro
 
#9

Re: Frage zur Vererbung bei Propertys

  Alt 10. Jan 2010, 21:23
Ok ich glaub ich werd mir da noch mal ein paar gedanken zu machen.
Markus
Hamburflys, Scrubble-Fubble-Puff-Shake, Muffin-Purper-Gurk?
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz