Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Klasse explizit von TObject ableiten - spricht was dagegen? (https://www.delphipraxis.net/13137-klasse-explizit-von-tobject-ableiten-spricht-dagegen.html)

Daniel 11. Dez 2003 17:49


Klasse explizit von TObject ableiten - spricht was dagegen?
 
Hallöchen,

ich baue mir gerade diverse Klassen und leite diese explizit von TObject ab:

Delphi-Quellcode:
type
  t_meineKlasse = Class(TObject)
  ...
Nun könnte man diese Deklaration auch vereinfachen:

Delphi-Quellcode:
type
  t_meineKlasse = Class
  ...

Nun habe ich aber dunkel im im Hinterkopf, hier in der DP Einwände gegen meine Deklaration gelesen zu haben. :gruebel: Auf der anderen Seite wird eine Klasse doch so oder so von TObject abgeleitet, wenn nichts Anderes angegeben wurde - oder? Demnach müssten beide Vorgehensweisen identisch sein...?

Könnte mir irgendwer noch 'was Kluges dazu sagen?

jbg 11. Dez 2003 17:55

Re: Klasse explizit von TObject ableiten - spricht was dageg
 
Zitat:

Zitat von Daniel
Könnte mir irgendwer noch 'was Kluges dazu sagen?

Stelle dir vor, dass du aus einer anderen Programmiersprache her kommst und keine Ahnung von den Delphi Gepflogenheiten hast. Nun steht da kein class(TObject). Was wirst du denken? Und was, wenn dort ein TObject steht?

Daniel 11. Dez 2003 17:59

Re: Klasse explizit von TObject ableiten - spricht was dageg
 
Also läuft es auf die Übersichtlichkeit bzw. Wartbarkeit hinaus? Demnach wären diese beiden Lösungen aus technischer Sicht identisch.
Ich empfinde die explizite Deklaration als deutlich angenehmer zu lesen und bevorzuge sie nicht ohne Grund.

jbg 11. Dez 2003 18:18

Re: Klasse explizit von TObject ableiten - spricht was dageg
 
Zitat:

Zitat von Daniel
Ich empfinde die explizite Deklaration als deutlich angenehmer zu lesen und bevorzuge sie nicht ohne Grund.

Da ich von TurboPascal her komme, ist mir das TObject (TurboVision) auch geblieben. Wo ich aber die explizite Deklaration weg lasse ist bei interface.

Luckie 11. Dez 2003 18:21

Re: Klasse explizit von TObject ableiten - spricht was dageg
 
Ich meine, ich hätte auch mal so was gehört, dass man Klassen ohne Basis-Klasse nicht von TObject ableiten sollte. Meines Wissen war da irgendwas mit dem "alten" Object Pascal und Delphi. Weiß aber auch nicht mehr.

Christian Seehase 12. Dez 2003 13:23

Re: Klasse explizit von TObject ableiten - spricht was dageg
 
Moin Luckie,

was meinst Du mit "Klasse ohne Basisklasse"?
Wenn Du eine neue Klasse erstellst, wirst Du sie immer von einer anderen ableiten (und sei es TObject), und eben diese wäre dann die Basisklasse.

Luckie 12. Dez 2003 13:47

Re: Klasse explizit von TObject ableiten - spricht was dageg
 
Klar leitet man immer von etwas ab. Nur habe ich gelesen, dass wenn man von TObject ableiten will, die Klasse TObject nicht angeben soll. Warum auch immer.

Christian Seehase 12. Dez 2003 14:10

Re: Klasse explizit von TObject ableiten - spricht was dageg
 
Moin Luckie,

dazu wäre eine Begründung allerdings wirklich nicht schlecht...
Ich finde die Angabe von TObject stellt doch eine nützliche Dokumentation dar, und das Ergebnis ist mit und ohne Angabe ja eh' das gleiche.

Luckie 12. Dez 2003 14:13

Re: Klasse explizit von TObject ableiten - spricht was dageg
 
Wenn ich nur wüßte wo ich das gelesen habe. Daniel hatte ja auch so was im Hinterkopf, also scheint da doch irgendwas zu sein.

Tyrael Y. 12. Dez 2003 15:10

Re: Klasse explizit von TObject ableiten - spricht was dageg
 
Kann es sein, daß ihr

Delphi-Quellcode:
type
TEtwas = class(TObject)
und

Delphi-Quellcode:
type
TEtwas = Object
durcheinander bringt?


Edit: Bin ansonsten der festen Meinung, daß mit oder ohne Angabe des
Basistypen beides gleich gehandhabt wird


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:31 Uhr.
Seite 1 von 2  1 2      

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 by Thomas Breitkreuz