Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Unterschied zwischen TObject und TPersistent
cuejo - Do 07.09.06 22:03
Titel: Unterschied zwischen TObject und TPersistent
Hi
Mich würde mal interessieren was genau der Unterschied zwischen TObject und TPersistent ist. Ich habe schon in der Delphi-Hilfe nachgeguckt, habe das aber nicht verstanden :oops:
Was ich verstanden habe ist, dass TPersistent von TObject geerbt ist und das es da etwas Beständiges (der Name lässt's erahnen) gibt. Was ist das genau und was kann man damit machen. Auserdem hat es so eine Assin-Methode (Habe ich hier im DF gelesen). Was hat es damit auf sich und was muss man dabei beachten?
Ich wäre für jede Hilfe dankbar (oder gebt mir einfach einen Link unter dem ich eine Erklärung finde, die auch für Laien verständlich ist). Danke. :roll:
cuejo - Sa 09.09.06 21:28
Kann mir keiner helfen? :cry:
cuejo - Do 14.09.06 20:39
Niemand? :shock:
Allesquarks - Fr 15.09.06 13:40
Auzug aus der Delphi-Hilfe. Ansonsten schau dir doch, sofern du hast mal den Quellcode von TPersistent an, finde das immer hochinteressant und auch am Aufschlussreichsten, da ein Objekt immer nur soviel ist wie die Summe seiner Methoden.
TPersistent ist der Vorfahr aller Objekte, die über Zuweisungs- und Stream-Funktionen verfügen.
Unit
Classes
Syntax
[Delphi] type TPersistent = class (System.TObject);
Beschreibung
TPersistent kapselt das fundamentale Verhalten, das allen Objekten gemeinsam ist, die anderen Objekten zugewiesen werden können und die Eigenschaftswerte in eine Formulardatei (.xfm- oder .dfm-Datei) schreiben bzw. daraus lesen können. Hierzu führt die Klasse TPersistent Methoden ein, die für folgende Zwecke überschrieben werden können:
Die Prozedur definieren, mit der nicht als published deklarierte Daten in einen Stream geschrieben bzw. daraus gelesen werden können.
Verfahren bereitstellen, mit denen Eigenschaftswerte gesetzt werden können.
Verfahren bereitstellen, mit denen der Inhalt eines Objekts einem anderen zugewiesen werden kann.
Erzeugen Sie keine neuen Instanzen von TPersistent. Die Klasse TPersistent dient als Basisklasse für die Deklaration von Objekten, die keine Komponenten sind, aber trotzdem in einen Stream gespeichert oder ihre Eigenschaften anderen Objekten zuweisen müssen.
cuejo - Sa 16.09.06 17:38
Jau! Danke erst mal für deine Antwort.
So ganz verstanden habe ich das aber leider immer noch nicht. Was kann ich denn jetzt mit TPersistent anstellen was ich mit TObject nicht kann und was habe ich zu beachten wenn ich von TPersistent erben will? Was mache ich mit der Assign-Methode. So weit ich das jetzt weiß kopiere ich damit die Instanz einer anderen von TPersistent abgeleiteten Klasse. Warum muss ich diese Methode überschreiben und was muss ich da konkret reinschreiben? Fragen über Fragen... :wink:
P.S.: In die Delphi-Hilfe habe ich schon geguckt. Habe es wie gesagt ja nicht verstanden. Denn Quell-Code von TPersistent habe ich leider nicht.
JayEff - Sa 16.09.06 18:32
cuejo hat folgendes geschrieben: |
Denn Quell-Code von TPersistent habe ich leider nicht. |
Doch hast du ;> er ist in der unit Classes zu finden und Delphi zeigt ihn dir gern, wenn du mit STRG auf das wort TPerisistent in deinem Quellcode klickst ^^
Christian S. - Sa 16.09.06 18:33
JayEff hat folgendes geschrieben: |
cuejo hat folgendes geschrieben: | Denn Quell-Code von TPersistent habe ich leider nicht. |
Doch hast du ;> er ist in der unit Classes zu finden und Delphi zeigt ihn dir gern, wenn du mit STRG auf das wort TPerisistent in deinem Quellcode klickst ^^ |
Aber nicht die Personal-Edition. Da ist der Quellcode nicht dabei
JayEff - Sa 16.09.06 18:41
Echt? :shock: gut zu wissen... dachte, dass man den immer automatisch hat, da man die Unit ja einbinden kann... Klar, die haben die Units wohl als .dcu mitgeliefert, sowas >.<
cuejo - So 17.09.06 14:50
Um mal ganz ehrlich zu sein: Das hilft mir jetzt nicht weiter :nut: :tongue:
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!