AGB  ·  Datenschutz  ·  Impressum  







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

Frage zu Abstrakter Klasse

Ein Thema von GroHae · begonnen am 24. Aug 2008 · letzter Beitrag vom 24. Aug 2008
Antwort Antwort
GroHae

Registriert seit: 19. Apr 2007
Ort: Nabburg
83 Beiträge
 
Delphi 2007 Enterprise
 
#1

Frage zu Abstrakter Klasse

  Alt 24. Aug 2008, 11:20
Hallo,

was hat das eigendlich für Auswirkungen, wenn ich eine Klasse als abstract definiere? Ich dachte bis jetzt, dass ich dann davon keine Instanz erstellen kann. So steht es auch in der Hilfe
Zitat:
Ist eine Klasse als abstract markiert, dann kann sie nicht direkt mit dem Konstruktor Create instantiiert werden
Wenn ich aber eine Klasse anlege:

Delphi-Quellcode:
  TTest = class abstract(TObject)
  private
    name : string;
  public
    constructor create(iName:string);
    procedure ZeigeName;
  end;
und sie dann so nutze:

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var
  t : TTest;
begin
  t := TTest.create('Otto');
  t.ZeigeName;
  t.Free;
end;
dann klappt das.

Warum? Hab ich was falsch verstanden?

Grüße

Thomas
Grüße

Thomas
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#2

Re: Frage zu Abstrakter Klasse

  Alt 24. Aug 2008, 11:26
Also, ich persönlich erstelle mir immer einen abstrakten Konstruktor.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#3

Re: Frage zu Abstrakter Klasse

  Alt 24. Aug 2008, 11:29
Äh, das ist etwas missverständlich.

Ab Delphi 2006 kann man eine Klasse als abstrakt markieren (das ging vorher nur auf Methoden).
Allerdings verhindert erst der Delphi 2007 Compiler, dass man eine abstrakte Klasse instanzieren kann.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
GroHae

Registriert seit: 19. Apr 2007
Ort: Nabburg
83 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: Frage zu Abstrakter Klasse

  Alt 24. Aug 2008, 11:59
hm..

ich habe CodeGear™ Delphi® 2007 für Win32® R2 Version 11.0.2902.10471

es geht aber.

Aber unabhängig davon:

Eigendlich sollte es nicht gehen. Stimmts?
Grüße

Thomas
  Mit Zitat antworten Zitat
GroHae

Registriert seit: 19. Apr 2007
Ort: Nabburg
83 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: Frage zu Abstrakter Klasse

  Alt 24. Aug 2008, 12:01
Hab gerade mein Profiel angepaßt da stand noch D 2006
Grüße

Thomas
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#6

Re: Frage zu Abstrakter Klasse

  Alt 24. Aug 2008, 13:03
Hallo Thomas,

du hast alles richtig verstanden, nur die Compiler-Truppe bei Borland/CodeGear/Embarcadero hat es offenbar bis heute nicht verstanden, diesen Fehler zu beheben: QC-Eintrag

Gruß Hawkeye
  Mit Zitat antworten Zitat
Antwort Antwort


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 19:20 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