Einzelnen Beitrag anzeigen

Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Was ist ein Objekt ?

  Alt 27. Jul 2008, 16:48
Natürlich sind sie mächtiger. Du kannst sie wie Klassen behandeln, oder wie Records:

Delphi-Quellcode:
TWuppdi = object
  Foo: Integer;
  procedure Bar;
  constructor Create(FooVal: Integer);
end;

procedure TWuppdi.Bar;
begin
  Writeln(Foo);
end;

constructor TWuppdi.Create(FooVal: Integer);
begin
  Foo := FooVal;
end;

procedure Proc;
var Wupp1: TWuppdi; Wupp2: ^TWuppdi;
begin
  //als Record
  Wupp1.Foo := 5;
  Wupp1.Bar;
  //als Klasse
  New(Wupp2, Create(8));
  try
    Wupp2.Bar;
  finally
    Dispose(Wupp2);
  end;
end;
Die Syntax ist zwar ziemlich seltsam, aber es funktioniert. Objects entsprechen praktisch den erweiterten Records aus Delphi 2006 (oder gab es die schon früher? ), zusätzlich ist aber Vererbung möglich.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat