implements ganz neue erfindung
-
Wenn man bei JAVA diese NEUE GEILE ERFINDUNG namens SCHNITTSTELLEN benutzt macht man doch im Endeffekt auch nix anderes als
//DIE BESTE PROGRAMMIERSPRACHE DER WELT class Eltern: public Kind, public Vater, public Mutter { }
//IRGENDNEN ROTZ CALLED JAVA class Eltern extends Kind implements Mutter, Vater { }
Ich verstehe nicht wo da der Unterschied sein soll! Erklärt das mal bitte
-
Interfaces sind dazu gedacht, gewisse Schnittstellen bei Klassen zu erzwingen. Im prinzip ist das natürlich auch Mehrfachvererbung, nur dass bei Vererbung gleich noch Variablen mitgeerbt werden. Bei implements übernimmst du nur die Funktionssignaturen und überlässt die Implementierung völlig dem Programmierer. Ich finde das schick, auch wenn ich mir manchmal mehrfachvererbung wünschen würde.
-
Und du erwartest Antworten bei deinem Fragestil?
Benutz die Suche; wurde schon öfter gerfagt und auch beantwortet.
Im prinzim macht man damit nichts anderes, das stimmt. Nur solltest du berücksichtigen das C# zeitlich gesehen nach java entwickt wurde und somit teile von Java als auch von c++ und vilen anderen sprachen "vorbild" waren.
Die java Entwickler wollten damals scheindsich keine Mehrfachvererbung so wie sie in C++ möglich ist realisieren. Meistens wird die ja sowieso nur verwendet um Interfaces ( ohne implementierung ) zu vererben. Dies hat man über Interfaces und implements gelöst.
Auserdem zweifle ich an deinem verständis für OO wenn ich mir dein beispiel so anschaue. Mutter und Vater sind beides Eltern. somit müsten sie die Interface Eltern implementieren. Wieso werden Eltern von Kind abgeleitet? Wenn dann eher von Mensch. Aber wenn ich mir das genau überlege ist das eher eine Eigenschaft eines Menschen. Oder wolltest du eine Klasse für Familie erzeugen. dann währe das auch falsch. denn zu einer Familie gehören Vater, Mutter und ein oder mehrere Kinder(wenn wir das mal rein katolisch betrachten)
gruss
-
Mehrfachvererbung ist meiner Meinung nach auch ein fehlendes Feature in Java,
allerdings sollte man als C# Programmierer Java nicht als Rotz bezeichen,
denn in C# sollte mal nen vernünftiges Dokument Object Model eingeführt werden.
-
DeltaPi schrieb:
Ich verstehe nicht wo da der Unterschied sein soll! Erklärt das mal bitte
Durch Mehrfachvererbung können gewisse Probleme entstehen, die bei Interfaces eben nicht entstehen können. Zum Beispiel der "Deadly Diamond of Death": Google mal danach. ...natürlich sind alle Arten von Problemen, die durch irgendwelche Sprachmittel entstehen können, von erfahrenen Leuten leicht beherrschbar. Trotzdem können sie zu einer unnötigen Verkomplizierung der Sprache führen. Bei Java hat man sich im Falle der Mehrfachvererbung eben dafür entschieden, dass sich das nicht lohnt.
-
ick hatte bloss den c++ code nicht gefunden, ich kann kein c# aber dann hab ich gesehen (den button) dass c/c++ ganz oben in der liste sind
ich weiss nicht mal ob das in c# so geht
2. Termite du nimmst mich ganz schön ausseinder :p .....
LOL, ich hab irgendwass genommen und mir viel das gerade ein.
ich wollte zuerst hanswurst erbt von flasche und fernbedienung nehmen ich glaube das hätte ich auch machen sollen3. Danke an Gregor@Home!!!