AGB  ·  Datenschutz  ·  Impressum  







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

Binärer Baum mit Klasse

Ein Thema von ford42 · begonnen am 8. Dez 2015 · letzter Beitrag vom 17. Dez 2015
 
SMO

Registriert seit: 20. Jul 2005
178 Beiträge
 
Delphi XE6 Professional
 
#5

AW: Binärer Baum mit Klasse

  Alt 10. Dez 2015, 13:13
Ich scheiter gerade an den Klassenmethoden.

Also ich muss ja z.B. class procedure Einfuegen(eingabe: String) als Klassenmethode defenieren (da es ja nur einmal vorkommen darf) oder?
Ist dir der Unterschied zwischen Klasse und Objekt klar? Klassen sind quasi die Baupläne, Objekte die Realisierung (Instanzen der Klasse).
Klassenmethoden operieren auf der Klasse und haben daher nur Zugriff auf allgemeine Dinge und andere Klassenmethoden und Klassenvariablen. Aber nicht auf normale Felder einer Objektinstanz, auf denen normale Methoden operieren.
Eine Methode wie "Einfügen" ist mit ziemlicher Sicherheit keine Klassenmethode, sondern eine normale, da du dir sonst die Möglichkeit versperrst, mehrere Objekte (Instanzen) dieser Klasse zu haben, die unterschiedliche Werte eingefügt bekommen können.

Deine aktuelle Deklaration von TNodeTest scheint mir also ziemlich falsch. Mach mal überall das "class" Präfix weg.
Übrigens:

Delphi-Quellcode:
// statt:
      class var NodeI: Integer;
      class var wAendern: Integer;
      class var PWurzelNode: TNodeTest;
      class var PStandNode: TNodeTest;
      class var PParentNode: TNodeTest;
// geht auch einfach:
      class var
        NodeI: Integer;
        wAendern: Integer;
        PWurzelNode: TNodeTest;
        PStandNode: TNodeTest;
        PParentNode: TNodeTest;

// und statt
if PWurzelNode <> nil then
// kann man auch schreiben
if Assigned(PWurzelNode) then

// ist absolut gleichwertig, Assigned() testet auf <> nil, nur damit du es mal gesehen hast
  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 16:36 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