AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Basisklassenroutine kann nicht auf vererbte Variablen zugreifen?
Thema durchsuchen
Ansicht
Themen-Optionen

Basisklassenroutine kann nicht auf vererbte Variablen zugreifen?

Ein Thema von hboy · begonnen am 6. Jun 2011 · letzter Beitrag vom 7. Jun 2011
 
hboy

Registriert seit: 16. Jan 2004
364 Beiträge
 
#1

Basisklassenroutine kann nicht auf vererbte Variablen zugreifen?

  Alt 6. Jun 2011, 18:50
Hallo,

entschuldigt die blöde Frage, aber mir scheint hier wirklich etwas grundlegendes entgangen zu sein:
Ausgehend von einer Basisklasse wird an eine weitere Klasse vererbt.

Delphi-Quellcode:
type TBasisKlasse = class
public
  Variable: Boolean;
  function TestVariable: Boolean; virtual;
end;

type TAbgeleiteteKlasse = class(TBasisKlasse)
public
  procedure ModifiziereVariable;
end;

implementation

function TBasisKlasse.TestVariable: Boolean;
begin
  result := Variable;
end;

procedure TAbgeleiteteKlasse.ModifiziereVariable;
begin
  Variable := true;
end;
Nun erzeuge ich eine neue Instanz, lasse die Variable ändern...

Delphi-Quellcode:
var allgemeineVariable : TBasisKlasse;
begin
  allgemeineVariable := TAbgeleiteteKlasse.Create;
  (allgemeineVariable as TAbgeleiteteKlasse).ModifiziereVariable;
  if allgemeineVariable.TestVariable then [...]
und sie ist immer false. Es scheint fast, als ob die Variablen einfach doppelt vorhanden wären und für die Methoden der abgeleiteten Klasse verdeckt. Wenn ich die Testmethode als abstrakt definiere und in der abgeleiteten Klasse ausimplementiere, tut alles wie gewohnt.

Klärt mich da mal bitte kurz auf! Danke schonmal
Power is nothing without TControl
  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 01:54 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