AGB  ·  Datenschutz  ·  Impressum  







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

RTTI, Klassen Fields und Attribute

Ein Thema von Schwarz · begonnen am 19. Okt 2016 · letzter Beitrag vom 20. Okt 2016
 
Benutzerbild von himitsu
himitsu

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

AW: RTTI, Klassen Fields und Attribute

  Alt 19. Okt 2016, 17:07
Nur Property kann man redefinieren und/oder in ihrer Sichtbarkeit verschieben.
Alles andere sind komplett neue Deklarationen, egal, ob sie "zufällig" den selben Namen haben.

Ausnahme bilden Methoden, wo man die neue Deklaration per "override" zurückverlinken kann,
aber auch hier ist besonders gut erkenntlich, dass Beides existert, da man die Methode im Vorfahren per inherited immernoch aufrufen kann.

Delphi-Quellcode:
type
  TClassA = class(TParentClass)
  protected
    property OBAuftraggeber: string read ... write ...;
  end;

  TClassB = class(TClassA)
  public
    property OBAuftraggeber; // neue Sichtbarkeit (aber offiziell geht es nur "sichtbarer")
    // oder
  protected
    property OBAuftraggeber default '123'; // neuer Defaultwert (aber nur im Nachfahren)
    // oder
    property OBAuftraggeber write ...; // neuer Setter (aber nur im Nachfahren)
    // oder
    property OBAuftraggeber: string ...; // komplett neues Property, das nur zufällig gleich heißt
  end;
Man sieht, solange kein Typ angegeben wurde, wird vom alten Property geerbt.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (19. Okt 2016 um 17:11 Uhr)
  Mit Zitat antworten Zitat
 


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 02:39 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