AGB  ·  Datenschutz  ·  Impressum  







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

3 Fragen zu Interfaces in Delphi.Net

Offene Frage von "winx"
Ein Thema von winx · begonnen am 30. Mär 2006 · letzter Beitrag vom 30. Mär 2006
Antwort Antwort
winx

Registriert seit: 14. Jun 2005
265 Beiträge
 
#1

3 Fragen zu Interfaces in Delphi.Net

  Alt 30. Mär 2006, 09:30
Guten Morgen,

ich hab mal 3 Fragen zu Interfaces unter Delphi.Net...

1. Wie kann ich in Delphi.Net ein Interface implementieren?
2. Kann ich auch mehrere Interfaces implementieren?
3. Wie "vererbt" man Interfaces
Bsp: Interface A ist eine Spezialisierung von B und B wiederum von C... schreibt man
da in A wieder alle Funktionen von B rein oder implementiert A einfach B???

Danke,
winx
  Mit Zitat antworten Zitat
jenbru

Registriert seit: 23. Dez 2005
5 Beiträge
 
Delphi 7 Professional
 
#2

Re: 3 Fragen zu Interfaces in Delphi.Net

  Alt 30. Mär 2006, 11:17
Hallo,

Zitat von winx:
1. Wie kann ich in Delphi.Net ein Interface implementieren?
2. Kann ich auch mehrere Interfaces implementieren?
3. Wie "vererbt" man Interfaces
Bsp: Interface A ist eine Spezialisierung von B und B wiederum von C... schreibt man
da in A wieder alle Funktionen von B rein oder implementiert A einfach B???
zu 1)
Das ist eigentlich ganz einfach:

Delphi-Quellcode:
//Ein Interface
type
  IAnInterface = interface
    procedure AMethod;
  end;

//Eine mögliche Implementierung
type
 TAnImplementation = class(TObject, IAnInterface)
   procedure AMethod;
 end;
zu 2)
Natürlich:

Delphi-Quellcode:
//Noch ein Interface
type
  IAnotherInterface = interface
    procedure AnotherMethod;
  end;

//Klasse implementiert jetzt beide Interfaces
type
 TAnImplementation = class(TObject, IAnInterface, IAnotherInterface)
   procedure AMethod;
   procedure AnotherMethod;
 end;
zu 3)
Weder noch.
Ein Interface erbt wie eine Klasse alle Methoden vom Vorfahr-Interface. Der Vorfahr alle Interfaces in Delphi ist IInterface.
Ein Interface ist somit verpflichtet alle Methoden des Vorfahr-Interfaces zu implementieren. Das es das selbst aber nicht kann
geht die Verpflichtung auf die Klasse über, die eine Implementierung des Interface anbietet:


Delphi-Quellcode:
type
  IC = interface
    procedure C;
  end;

type
  IB = interface(IC)
    procedure B;
  end;

type
  IA = interface(IB)
    procedure A;
  end;

type
  TImpl = class(TObject, IA)
    procedure A;
    procedure B;
    procedure C;
  end;
Das steht aber auch alles in der OH von D2005 im Kapitel "Objekt-Interfaces".

Schönen Gruß,
Jens
Jens Brünnler
  Mit Zitat antworten Zitat
Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#3

Re: 3 Fragen zu Interfaces in Delphi.Net

  Alt 30. Mär 2006, 11:22
Auch wenn ich hier nix schreiben wollte...
@Jens du verwechselst D32 und D.Net
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat
winx

Registriert seit: 14. Jun 2005
265 Beiträge
 
#4

Re: 3 Fragen zu Interfaces in Delphi.Net

  Alt 30. Mär 2006, 11:27
Hallo Jens,

danke leider ist bei D2006 KEIN Handbuch dabei

Gruß,
winx
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#5

Re: 3 Fragen zu Interfaces in Delphi.Net

  Alt 30. Mär 2006, 11:29
Zitat von winx:
danke leider ist bei D2006 KEIN Handbuch dabei
Aber eine sehr umfangreiche Online-Hilfe, die man im Menü unter Hilfe findet. Da filterst Du nach Delphi.NET und suchst nach Interface

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
jenbru

Registriert seit: 23. Dez 2005
5 Beiträge
 
Delphi 7 Professional
 
#6

Re: 3 Fragen zu Interfaces in Delphi.Net

  Alt 30. Mär 2006, 11:38
Hallo,

@Elvis Wie jetzt? Steh ich auf dem Schlauch?
Die Verwendung von Interfaces ist in Delphi.NET doch gleich, außer das sich die GC um die Referenzzählung
kümmert, oder?

Bis denne,
Jenne
Jens Brünnler
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

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

Re: 3 Fragen zu Interfaces in Delphi.Net

  Alt 30. Mär 2006, 12:30
Ein Interface erbt aber nicht mehr implizit von IInterface (ob es von Object erbt, ist nicht so ganz sicher ). Ob Borland sich daran hält, will ich lieber gar nicht erst nachschauen...
Außerdem sollte der T-Präfix ab .NET für ewig ruhen.
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
winx

Registriert seit: 14. Jun 2005
265 Beiträge
 
#8

Re: 3 Fragen zu Interfaces in Delphi.Net

  Alt 30. Mär 2006, 12:31
ok, geb mich geschlagen

Also danke für die Hilfe
  Mit Zitat antworten Zitat
Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#9

Re: 3 Fragen zu Interfaces in Delphi.Net

  Alt 30. Mär 2006, 12:58
Zitat von Khabarakh:
ob es von Object erbt, ist nicht so ganz sicher
Ich hoffe dein -> <- bezog sich auf die traurige Tatsache, dass der Artikel von einem VB-Monk geschrieben wurde.
ToString um zu Object zu kommen -> So ein Lötzinn... *kopfschüttel*
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

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

Re: 3 Fragen zu Interfaces in Delphi.Net

  Alt 30. Mär 2006, 13:59
Den VB-Teil habe ich übersprungen . Das einzig Interessante ist ja die Diskrepanz zwischen Doku und Implementation, was VB oder der VS-Classbrowser dazu sagt, ist mir ziemlich egal.
Sebastian
Moderator in der EE
  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 03: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