AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Zugriff auf protected-Felder eines Methodenparameter
Thema durchsuchen
Ansicht
Themen-Optionen

Zugriff auf protected-Felder eines Methodenparameter

Ein Thema von MStoll · begonnen am 16. Jul 2012 · letzter Beitrag vom 17. Jul 2012
Antwort Antwort
Benutzerbild von Sir Rufo
Sir Rufo

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

AW: Zugriff auf protected-Felder eines Methodenparameter

  Alt 16. Jul 2012, 22:21
Diese Methode gehört auch in die Klasse TA.

Wenn die in den Nachfahren erweitert werden soll, dann eben als virtual deklariert.
Und wenn die in TA noch nicht sichtbar sein soll, dann eben dort auch als protected.
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
Furtbichler
(Gast)

n/a Beiträge
 
#2

AW: Zugriff auf protected-Felder eines Methodenparameter

  Alt 17. Jul 2012, 06:06
Gut gut: Aber WARUM kann man nicht auf protected Felder eines Vorfahren zugreifen? Egal welche Workarounds es gibt und egal welche design flaws der Beispielcode beinhaltet.

Bummi hat es mit seiner kompakten Vierwortantwort bereits angedeutet:

Auf protected Felder kann nur innerhalb der eigenen Vererbungshierarchie zugegriffen werden. Diese Felder sind durch Zugriff von außen geschützt. Und die Klasse 'TB' ist für eine Instanz von TA nun mal 'außen', so wie jede andere Klasse auch.

Lustigerweise gibt es eine Hintertür, nämlich wenn 'TA' und 'TB' innerhalb der selben Unit deklariert und implementiert werden. Frag mich nicht, wieso Delphi hier so blöd ist. Is aber so.
  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
 
#3

AW: Zugriff auf protected-Felder eines Methodenparameter

  Alt 17. Jul 2012, 06:16
Lustigerweise gibt es eine Hintertür, nämlich wenn 'TA' und 'TB' innerhalb der selben Unit deklariert und implementiert werden. Frag mich nicht, wieso Delphi hier so blöd ist. Is aber so.
Lustigerweise gab es hierzu schon mindestens einen Thread wo genau dieses auch diskutiert wurde.
Mit Private verhält es sich ebenso innerhalb einer Unit.

Um dieses strikte Verhalten auch innerhalb einer Unit zu bekommen gibt es das strict .

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
Furtbichler
(Gast)

n/a Beiträge
 
#4

AW: Zugriff auf protected-Felder eines Methodenparameter

  Alt 17. Jul 2012, 06:26
An den Thread kann ich mich erinnern, aber nicht an das 'strict'.

Nun weiß ich endlich, wozu das gut ist... Danke
  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 08:32 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