AGB  ·  Datenschutz  ·  Impressum  







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

TObject = Object ?

Ein Thema von Neutral General · begonnen am 3. Jan 2006 · letzter Beitrag vom 31. Mär 2006
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

TObject = Object ?

  Alt 3. Jan 2006, 19:12
Hi,

Ich habe grad das Object (neu)entdeckt. Wenn man Klassen so definiert:

TKlasse = Object dann ist hat die Klasse wie records keine Eigenschaften. ABER sie kann proceduren beinhalten...
Und man hat nicht das lästige Zeug von TObject (ob lästig oder notwendig sei mal dahingestellt )
Eigentlich die perfekte Klasse

So jetzt zur Hauptfrage:

Jedenfalls hatte ich dann die Theorie das TObject von Object abgleitet sein könnte. Was ich logisch finde.
Aber in der Definition steht

TObject = class Aber wie kann das sein ?

Delphi-Quellcode:
TIrgendeineKlasse = class

 <=>

TIrgendeineKlasse = class(TObject)


TObject = class(TObject) Aber das ist ein noch größerer Unsinn..

Gruß Michi
Michael
  Mit Zitat antworten Zitat
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#2

Re: TObject = Object ?

  Alt 3. Jan 2006, 19:17
War die Verwendung von object nicht früher beim objektorientieren TP State-of-the-Art und später dann in Delphi kam class?

Und
Delphi-Quellcode:
MyObject = class
//und
MyObjectZwo = class(TObject)
sind das Gleiche.
Julian J. Pracht
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

Re: TObject = Object ?

  Alt 3. Jan 2006, 19:18
Zitat von Ultimator:
Und
Delphi-Quellcode:
MyObject = class
//und
MyObjectZwo = class(TObject)
sind das Gleiche.
Ja genau deswegen ja.

Und da TObject = class gilt, gilt genauso auch TObject = class(TObject) was aber Unsinn ist.
Michael
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#4

Re: TObject = Object ?

  Alt 3. Jan 2006, 19:20
Hi,
Ja, kann Ultimator natürlich nur zustimmen, möchte hier aber dann auch gleich auf die Forum-Suche verweisen! Da findest du schon genügend zu Object vs. TObject.

Das eine Klasse ohne Angabe von einer speziellen Klasse immer von TObject abgeleitet wird ist natürlich einfach nur dem Compiler zu verdanken, der einfach nachschauen kann ob es eine Basisklasse gibt (sonst TObject).
Natürlich kann der auch mit der Definition von TObject umgehen ohne sich hier rekursiv einen Kreis zu bauen.

Gruß Der Unwissende
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#5

Re: TObject = Object ?

  Alt 3. Jan 2006, 19:22
TObject befindet sich nicht umsonst in der Unit, in der die Hochsprache aufhört und die Compiler-Magic anfängt .
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Benutzerbild von arbu man
arbu man

Registriert seit: 3. Nov 2004
Ort: Krefeld
1.108 Beiträge
 
Delphi 7 Professional
 
#6

Re: TObject = Object ?

  Alt 3. Jan 2006, 19:23
Tatsächlich ist TObject auch von class abgeleitet. Das ganze steht in der unit system die bei jeden Delphi Projekt dabei ist, somit ist TObject nicht von Object abgeleitet.

Delphi-Quellcode:
  TObject = class
    constructor Create;
    procedure Free;

    ...

    destructor Destroy; virtual;
  end;
Björn
>> http://bsnx.net <<
Virtual DP Stammtisch v1.0"iw" am 19.09.2007 - ich war dabei!
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#7

Re: TObject = Object ?

  Alt 3. Jan 2006, 19:28
ABER: Nach euren Theorien müsste ja bei folgendem Beispiel THallo von class abgeleitet sein und nicht von TObject...

Delphi-Quellcode:
unit Unit1;

interface

// KEINE Uses.. kein TObject und nix

type
THallo = class
 Hallo: String;
 procedure SetHallo;
end;

implementation

{ THallo }

procedure THallo.SetHallo;
begin
 Hallo := 'Hallo';
 Self.Destroy; // Und alle anderen TObject Methoden sind verfügbar
end;

end.
Michael
  Mit Zitat antworten Zitat
Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

Registriert seit: 5. Aug 2004
Ort: München
1.062 Beiträge
 
#8

Re: TObject = Object ?

  Alt 3. Jan 2006, 19:36
Moment, hier scheinen manche etwas zu verwechseln:
Delphi-Referenz durchsuchenTObject ist eine Klasse, die in Delphi deklariert wurde.
Object ist ein Schlüsselwort, das noch aus Pascal-Zeiten stammt und sowas wie ein vorreiter des class-Keywords war.
Object hat also nix mit TObject zu tun, und man kann auch nicht eine Klasse von object ableiten.
Lasst euch nicht durch die ähnliche Namensgebung drausbringen
Und bezüglich TObject/class/CompilerMagic: Man kann nicht 'von class ableiten'. TObject ist eine Klasse, welche stinknormal implementiert wurde. CompilerMagic tritt ein, wenn eine Klasse (außer TObject) deklariert wird, die keine andere Klasse erbt: Dann wird nämlich automatisch TObject vererbt.


greetz
Mike
Mike
Passion is no replacement for reason
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#9

Re: TObject = Object ?

  Alt 3. Jan 2006, 19:40
Aber ich meine es wäre logisch wenn TObject = Object wäre und das Object hätte dann halt die ganzen Methoden verpasst bekommen und dann wurden die anderen folgenden Komponenten halt von TObject abgleitet. Was ist denn TObject sonst ?
Michael
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#10

Re: TObject = Object ?

  Alt 3. Jan 2006, 19:47
Zitat von Neutral General:
// KEINE Uses.. kein TObject und nix
System.pas wird automatisch in jede Unit eingebunden .
Zitat von Neutral General:
Aber ich meine es wäre logisch wenn TObject = Object wäre und das Object hätte dann halt die ganzen Methoden verpasst bekommen und dann wurden die anderen folgenden Komponenten halt von TObject abgleitet.
Object und TObject haben nichts miteinander zu tun, Punkt .
Zitat:
Was ist denn TObject sonst ?
Eine Klasse ohne Basisklasse. Da das mit der Delphi-Language schlecht möglich ist, besteht TObject eben zur Hälfte aus Assembler.
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 04:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz