Autor Beitrag
GTA-Place
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
EE-Regisseur
Beiträge: 5248
Erhaltene Danke: 2

WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
BeitragVerfasst: Do 08.12.05 22:47 
Der Punkt ist, dass die Antworten ganz klar zu verstehen sind.
Bei der englischen MSDN muss man ja erstmal übersetzten.

_________________
"Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Do 08.12.05 22:50 
Ach so, ich dachte, es wäre was wichtiges ... :roll:

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
GTA-Place
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
EE-Regisseur
Beiträge: 5248
Erhaltene Danke: 2

WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
BeitragVerfasst: Fr 09.12.05 17:42 
Ich bezweifle, dass ihr selber die Antwort der 2. Frage von gestern richtig wisst.
Delphi-Source hat folgendes geschrieben:
Als neues Feature der Delphi language ist in Delphi for .NET jetzt Mehrfachvererbung für Schnittstellen enthalten

Mehrfach-Vererbung von Interfaces erst ab .NET? Warum dann nur die letzte Antwortmöglichkeit richtig?
Warum nicht auch "...nur ab .NET"? Wo habt ihr überhaupt die Antwort gefunden?

_________________
"Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Fr 09.12.05 17:49 
Ein Objekt kann von mehreren Interfaces erben. Auch in Win32.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
GTA-Place
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
EE-Regisseur
Beiträge: 5248
Erhaltene Danke: 2

WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
BeitragVerfasst: Fr 09.12.05 17:52 
Lügt Borland etwa? bdn.borland.com/arti...0,1410,29779,00.html
BDN hat folgendes geschrieben:
Multiple inheritance (MI) for interfaces has been implemented and appears in update 3 of the Delphi for .NET preview

Oder hat sakura (auf den Link bezogen; DP) keine Ahnung?
sakura hat folgendes geschrieben:
Das letzte Update für den Delphi.NET Preview Compiler stellt uns die Möglchkeit der Mehrfachvererbung von interface-Deklarationen vor. Für Delphi eine absolute Neuheit und aus meiner Sicht ein lang ersehntes und endlich greifbar nahes Feature.

_________________
"Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Fr 09.12.05 18:00 
Folgende Syntax steht in der Delphi-Hilfe:
Zitat:
type Klassenname = class (Vorfahrklasse, Interface1, ..., Interfacen)
Elementliste
end;

Du kannst nicht ein Interface von mehreren anderen erben lassen, aber eine Klasse schon.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
GTA-Place
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
EE-Regisseur
Beiträge: 5248
Erhaltene Danke: 2

WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
BeitragVerfasst: Fr 09.12.05 18:02 
In was für einer Hilfe guckst du bitte? Bei mir steht in der Hilfe:
Zitat:
Delphi ist eine Sprache, die keine Mehrfachvererbung zulässt.

_________________
"Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
raziel
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2453

Arch Linux
JS (WebStorm), C#, C++/CLI, C++ (VS2013)
BeitragVerfasst: Fr 09.12.05 18:05 
Genau die Seite. Lies doch einfach mal weiter ;)

_________________
JSXGraph
GTA-Place
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
EE-Regisseur
Beiträge: 5248
Erhaltene Danke: 2

WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
BeitragVerfasst: Fr 09.12.05 18:09 
Ok, hier Satz 2:
Zitat:
Das heißt, dass jede Klasse nur einen direkten Vorfahr hat.

_________________
"Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
DarkLord05
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 449

WinXP Pro SP2
Opera; Delphi 3 Pro; Delphi 2005, Turbo Delphi, dev-c++, Eclipse, MS Visual Studio .NET 2003, MS Visual C++
BeitragVerfasst: Fr 09.12.05 18:10 
user profile iconGTA-Place hat folgendes geschrieben:
Ich bezweifle, dass ihr selber die Antwort der 2. Frage von gestern richtig wisst.
Delphi-Source hat folgendes geschrieben:
Als neues Feature der Delphi language ist in Delphi for .NET jetzt Mehrfachvererbung für Schnittstellen enthalten

Mehrfach-Vererbung von Interfaces erst ab .NET? Warum dann nur die letzte Antwortmöglichkeit richtig?
Warum nicht auch "...nur ab .NET"? Wo habt ihr überhaupt die Antwort gefunden?


Dann wäre es ja NUR .NET.
Dann wäre die andere Antwort falsch. Also geht nur das letzte wenn es möglich ist das über Interface zu machen.
Robert_G
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 416


Delphi32 (D2005 PE); Chrome/C# (VS2003 E/A, VS2005)
BeitragVerfasst: Fr 09.12.05 18:11 
Jupp, die Frage war nicht wirklich eindeutig.
Richtig beantwortet wäre es ein klares Nein. Keine Mainstream .Net Sprache unterstützt Mehrfachvererbung (MV), schlichtweg weil die CLR es nicht unterstützt. Eifel verwendet ziemlich viel Rumgefriemel mit Interfaces und default-implementierungen um MV zu simulieren.
Weder Delphi.Net, C#,VB, Chrome,... unterstützen MV.
Interfaces sind, streng genommen, keine MV. Nur ein Set von Schnittstellen, die deine Klasse als kompatibel zu einem Satz von Methoden/Properties/Events deklarieren.
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Fr 09.12.05 18:11 
user profile iconGTA-Place hat folgendes geschrieben:
In was für einer Hilfe guckst du bitte?

ms-help://borland.bds3/bds3guide/html/ImplementingInterfaces.htm

Du kannst Dir auch den Language Guide von borland.de herunterladen, da steht es auch drin.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
GTA-Place
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
EE-Regisseur
Beiträge: 5248
Erhaltene Danke: 2

WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
BeitragVerfasst: Fr 09.12.05 18:14 
user profile iconRobert_G hat folgendes geschrieben:
Interfaces sind, streng genommen, keine MV. Nur ein Set von Schnittstellen, die deine Klasse als kompatibel zu einem Satz von Methoden/Properties/Events deklarieren.

Deswegen heißt es auch in der Delphi-Hilfe:
Zitat:
Mit Schnittstellen können Sie einen ähnlichen Effekt erzielen.

_________________
"Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Fr 09.12.05 18:17 
Jup. Aus den Informationen, die mir beim Suchen über den Weg gelaufen sind, ergibt sich auch 3. und 4. als Antwort auf die zweite Frage.

Wären also ein paar Fragen zu klären:

1. Was bezeichnet Ihr als Mehrfachvererbung.
a) Klasse A hat Vorfahr-Klassen B und C
b) Klasse A hat Vorfahr-Klasse B und implementiert Interfaces C, D und E
c) Interface A erweitert ein Vorfahr-Interface B
d) Interface erweitert ein anderes Interface und implementiert weitere Interfaces
e) Wir definieren uns das so, wie wir es für richtig halten
f) Wir lassen uns nicht von jedem beliebigen User sagen, was wir tun sollen

2. Warum sind die Möglichkeiten von .NET und Native für euch gleich?
a) Sind sie doch gar nicht
b) Wie kommst Du darauf?
c) Sie unterscheiden sich in [EDITFELD ZUM EINTRAGEN DER BEGRÜNDUNG] ...

THX, weitere folgen je nach bedarf...

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
tommie-lie
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 4373

Ubuntu 7.10 "Gutsy Gibbon"

BeitragVerfasst: Fr 09.12.05 18:17 
user profile iconChristian S. hat folgendes geschrieben:
Ein Objekt kann von mehreren Interfaces erben. Auch in Win32.
Sorry, das ist Unsinn!
Klassen erben nicht von Interfaces, Klassen implementieren Interfaces. Interfaces beschreiben, wie der Name schon sagt, ein Interface. Bei Vererbung geht es darum, daß Eigenschaften und Methoden inhaltlich vererbt werden, Code-Reuse ist einer der Vorteile von Vererbung. Interfaces haben keine Eigenschaften und Methoden. Nur weil in Delphi die Syntax für das Erben von Klassen und das Implementieren von Interfaces gleich ist, heißt das nicht, daß Interfaces in Delphi etwas anderes bedeuten, als sie tatsächlich sind: lediglich eine Beschreibung.
Mehrfachvererbung ist defakto in Delphi nicht möglich. Punkt. Ein zu Mehrfachvererbung vergleichbarer Mechanismus wurde mit dem Delphi.NET Preview Compiler (später Delphi8) ausschließlich für Interfaces eingeführt. Dabei kann ein Interface mehrere Interfaces als Vorfahreninterface angeben, was auch Konsequenzen für Typzuweisungen von Interfaces hat. Das ist allerdings nur eine Vererbung von Beschreibungen, man mag es meinetwegen Vererbung nennen, es ist jedoch nicht das, was Objektorientierung meint, wenn von Vererbung die Rede ist.
Tatsächlich korrekt wäre also eigentlich, daß Mehrfachvererbung nur für Interfaces möglich ist und soweit ich herausfinden konnte auch nur in Delphi.NET, nicht in Delphi/Win32.

_________________
Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Fr 09.12.05 18:25 
@tommie-lie: Soweit ich herausfinden kann, geht es ab DX wohl auch für Win32, das kann aber auf nicht der Inhalt dieser Frage sein, weil es dann hätte aufgeführt werden müssen) und würde selbst dann noch nicht korrekt sein, aus den von Dir aufgeführten Gründen.

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
tommie-lie
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 4373

Ubuntu 7.10 "Gutsy Gibbon"

BeitragVerfasst: Fr 09.12.05 18:30 
user profile iconBenBE hat folgendes geschrieben:
@tommie-lie: Soweit ich herausfinden kann, geht es ab DX wohl auch für Win32
DX? DirectX kann Mehrfachvererbung in Win32? :gruebel:

_________________
Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: Fr 09.12.05 18:38 
vielleicht meint er Delphi 10 ?
JayK
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1013



BeitragVerfasst: Fr 09.12.05 19:03 
denke ja, denn in D10 (D2006) wurde die Delphi-Win32 Sprache ja soweit aufwewertet, dass sie die gleichen Features wie die .net Sprache hat. Und wenn D.net Vererbung über Interfaces zulässt, dann das neue Delphi für Win32 auch.
raziel
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2453

Arch Linux
JS (WebStorm), C#, C++/CLI, C++ (VS2013)
BeitragVerfasst: Fr 09.12.05 19:06 
Ein Auszug aus der Delphi 7 Online-Hilfe:
Zitat:
Nach der Deklaration muss die Schnittstelle in einer Klasse implementiert werden, bevor sie verwendet werden kann. Die in einer Klasse implementierten Schnittstellen werden in der Klassendeklaration nach dem Namen der Vorfahrklasse angegeben. Die Deklaration sieht folgendermaßen aus:

ausblenden Delphi-Quelltext
1:
2:
3:
type Klassenname = class (Vorfahrklasse, Schnittstelle1, ..., Schnittstellen)
  Elementliste
   end;


Ein Beispiel:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
type
  TMemoryManager = class(TInterfacedObject, IMalloc, IErrorInfo)
    ...
end;


Damit wäre - denke ich - zumindest die eine Frage geklärt, dass das nicht erst seit Delphi.NET eingeführt wurde.

_________________
JSXGraph