Extends
Übersicht

Daniel KnobeBetreff: Extends |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo,
ich würde gerne 2 Klassen in eine andere Klasse vererben. Wie muss man Extrens schreiben damit man 2 Klassen anbegen kann. mfg DKing |
||
![]() |
Jolinah |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mehrfachvererbung geht leider nicht in BlitzMax ![]() |
||
![]() |
TheShadowModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
mach tmp-klasse und vererbe diese an nächste | ||
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2 |
![]() |
stfighter01 |
![]() Antworten mit Zitat ![]() |
---|---|---|
tmp klasse?
wozu? @daniel ist nicht möglich. eine von den beiden klassen muss irgendwo von der anderen klasse erben, sonst kannst du keine keinen sub typ basteln der beide klassen in sich beinhaltet. |
||
Denken hilft! |
![]() |
regaa |
![]() Antworten mit Zitat ![]() |
---|---|---|
Haben viele Sprachen nicht drin weil es wenig Sinn macht bzw. dann denk einfach um. Ist leichter. | ||
UltraMixer Professional 3 - Download
QB,HTML,CSS,JS,PHP,SQL,>>B2D,B3D,BP,BlitzMax,C,C++,Java,C#,VB6 , C#, VB.Net |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
regaa hat Folgendes geschrieben: Haben viele Sprachen nicht drin weil es wenig Sinn macht bzw. dann denk einfach um. Ist leichter.
Wohl eher weil die Programmierer der Sprachen nicht mächtig waren, Inheritance Selection-Redefine-Renaming Mechanismen in ihre Compiler / Precompiler zu schreiben, ohne welche Mehrfachvererbung nutzlos bis ein totaler Albtraum ist. Es macht nämlich ziemlich viel Sinn mehrfach Vererbung zu haben. Man könnte es gar so sehen, das es relativ wenig Sinn macht, OO Sprachen ohne zu entwickeln. Denn wozu kann man alles schön abstrakt deklarieren, wenn man danach nur "1 Blueprint" nutzen kann? Das ist ziemlich nutzlos ... Und Multiinheritance kann man leider auch nicht faken ... man muss extrem komplex rumpfuschen um mehrere "Baupläne" in einen reinzubekommen und was man am Schluss hat, lässt häufiger Mal zu wünschen übrig ... Bsp: Machst du für ein Auto auch nur 1 Blueprint? Kaum oder? Karosserie, Motor, Elektronik etc hat alles einen eigenen Blueprint ... |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Suco-XBetreff: ...... |
![]() Antworten mit Zitat ![]() |
---|---|---|
He Dreamora, http://tutorial.schornboeck.ne...erbung.htm
Zitat: Dieses Feature ist sehr umstritten und in einigen anderen Sprachen (Java, C#,... ) ist deshalb mehrfach Vererbung verboten. Du denkst also, C# ist eine nutzlose Sprache, nur weil keine Mehrfachvererbung erlaubt ist? Meinst du nicht es wäre mal Zeit einzugestehen, dass du eigentlich überhaupt keine Ahnung hast? Mehrfachvererbung macht keinen Sinn, nenn mir doch ein brauchbares Beispiel. Mfg Suco |
||
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB |
![]() |
Jolinah |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: In C++ kann eine Klasse von mehreren Klassen erben. Dieses Feature ist sehr umstritten und in einigen anderen Sprachen (Java, C#,... ) ist deshalb mehrfach Vererbung verboten. Aber auch dort kann eine Klasse von mehreren Interfaces erben. Ein Interface ist eine Art abstrakte Klasse.
Und das kann durchaus sinnvoll sein, zudem sprach Dreamora ja von abstrakten (siehe oben, Interface) Klassen. |
||
- Zuletzt bearbeitet von Jolinah am Do, Dez 08, 2005 13:48, insgesamt 2-mal bearbeitet
![]() |
Phalastos |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: Wohl eher weil die Programmierer der Sprachen nicht mächtig waren, Inheritance Selection-Redefine-Renaming Mechanismen in ihre Compiler / Precompiler zu schreiben, ohne welche Mehrfachvererbung nutzlos bis ein totaler Albtraum ist.
Hast Du auch noch ne andere Platte auf Lager? Es gibt Schrottplätze wo man Auto´s zerstören kann. Vieleicht ist das der bessere Weg als immer die selbe Leier aufzufahren. Wenn Du einen höheren Skill hast als "die Programmierer der Sprachen ", dann frage ich mich wo Deine eigene Programmiersprache bleibt. Immer nur motzen ist einfach traurig... |
||
Forbiddenmagic - Warfare of Forgotten Power |
![]() |
regaa |
![]() Antworten mit Zitat ![]() |
---|---|---|
Möööp, fühle mich leicht angegriffen. Das war meine Meinung, nicht DIE MEINUNG. Für mich macht Mehrfachvererbung wenig Sinn.
@Dreamora: Kann mir unter deinem Beispiel recht wenig vorstellen. Vielleicht bin ich aber auch zu dumm für. |
||
UltraMixer Professional 3 - Download
QB,HTML,CSS,JS,PHP,SQL,>>B2D,B3D,BP,BlitzMax,C,C++,Java,C#,VB6 , C#, VB.Net |
![]() |
Jan_Ehemaliger Admin |
![]() Antworten mit Zitat ![]() |
---|---|---|
WAs heißt hier siene Programmiersprache, ausser APrticle Dreams, habe ich noch garnix von ihm gesehen. | ||
between angels and insects |
AvaGast |
![]() Antworten mit Zitat |
|
---|---|---|
Ich bin mir jetzt nicht sicher, ob ich das Problem bzw. das Ziel einer solchen "Mehrfachvererbung" richtig verstehe. Aber wenn ich einer Objektklasse die Eigenschaften zweier Grundklasse einverleiben möchte, dann erstelle ich doch ganz einfach nur zwei Links zu diesen Klasse- oder nüch ?!
Beispiel: Ich möchte, dass eine Objektklasse aus einer Grafik- und einer Physik-Klasse "erbt". Dann bekommt diese neue Objektklasse einfach zwei Verweise "graphic:t_graphicObject" und "physik:t_physicObject" und dann kann es auf die Funktionen und Werte dieser Klasse oder einer ihrer Erben zugreifen. Man müsste dann vielleicht noch eine kleine Schnittstelle in das Objekt mit einbauen, aber das ist ja nicht die Welt. Wenn das nun völlig am Thema vorbei geschossen ist, könnte mir vielleicht jemand da mal den Unterschied erklären? ![]() |
||
![]() |
TheShadowModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das klappt doch wunderbar - was macht ihr für Stress - Z hab von X und Y geerbt. Sowas macht man mit TMP-Klassen.
BlitzBasic: [AUSKLAPPEN]
|
||
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2 |
AvaGast |
![]() Antworten mit Zitat |
|
---|---|---|
In diesem Fall kann man aber y nicht völlig unabhängig von x gestalten. *hm*
Bzw. ist z dann auch im Prinzip nur wieder ein Abklatsch von x und hat keine wirklich unterschiedlichen Eltern. |
||
![]() |
Blacal |
![]() Antworten mit Zitat ![]() |
---|---|---|
Servus
Ich persönlich trauer der Mehrfachvererbung nicht nach. Hat halt seine vor- und nachteile. Nachteil ist eindeutig die Übersichtlichkeit. Man kann damit viel Scheiß treiben, und manche tuns auch. Eine gute zwischenlösung macht da java mit den Interfaces (im Prinzip auch ne Klasse, diese hat aber NUR Abstracte Methoden) Ansonsten. Warum sollte brl Mehrfachvererbung einbauen? BlitzMax ist für Hobbyprogrammierer, und für kleine Projekte braucht man des wirklich nicht. Und wer meint, mit zig vererbten Klassen seine "Intelligenz" raushengen lassen zu müssen, ist beim Programmieren sowieso falsch. Und bei BlitzMax sowieso. Mfg Blacal |
||
![]() |
TheShadowModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
hm jo stimmt...
naja OOP ist nicht nur Segen meiner Meinung nach... ich finde reine OOP-Sprachen katastrophal - das ist soviel umstand und rumgewurschle - alles ist irgendwie unflexibel... bah... Da gefällt mir die "alte" Programmierweise besser.. |
||
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2 |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Jan_ hat Folgendes geschrieben: WAs heißt hier siene Programmiersprache, ausser APrticle Dreams, habe ich noch garnix von ihm gesehen.
Jo weil ich meine Cartography Shop PlugIns runtergenommen habe, als ich den Zoff mit Josh "noSupport" hatte und die Dark Basic Sources runter sind als ich halt mit DBP aufgehört habe ... Und mein Terrain System is net oben, weil ich keinen Bock dazu habe, das irgendwem zu geben, wenn das doch eh immer alle viel besser können! (Ne ernsthaft: Es ist aktuell ein ziemliches QuadTree gebastel, dass eine durchdachte Nutzung verlangt, damit andere Objekte sinnvoll damit interagieren können. Es ist von daher nicht sehr nutzungsfreundlich. Und da ich zumindest im Moment B3D nicht nutze, wird es da auch keine nutzungsfreundlichere Version geben in absehbarer Zeit. Immerhin gehöre ich nicht zu denen, die alles was sie machen sofort verscherbeln wollen oder? ![]() Die alte Version des Terrain Systems war ja eine ganze Zeit oben und wurde auch von verschiedenen Leuten heruntergeladen und damals genutzt. Mittlerweile gibt es ja 1-2 interessantere TerrainSysteme allen voran wohl das, welches aktuell im BB.Com showcase board herunterzuladen ist. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
Daniel Knobe |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich finde Mehrfachvererbung mehr als sinnvoll, den ich weis erlichgesagt jetzt nicht vofür ich Objekt oriertiert programmieren soll. Wollte mir eine Gui für mein Spiel schreiben und speziele Eigenschaften in je eine Klasse packen.
Eigentlich macht das doch dann nur sinn wenn man einen eigenen Dateityp coden will der halt mehrere variablen hat die man dann mit speziellen methoden konfigurieren kann. Würde mir eine Mehrfachvererbung wünschen^^, wer sie nicht haben will soll sie nicht nutzen ![]() Ich für meinen Teil ... ^^ @ TheShadow: Kannst du mir einen Beispielcode zeigen wie du diese Blockade omgehst mit deiner Methode? mfg DKing |
||
![]() |
TheShadowModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
man kann nur 1x vererben. Einzige Ausnahme wäre, wenn Type Z gleich von Type X und Y erben kann - wobei schon Y von X geerbt hat. Wenn Y und X komplett eigenständig sind, dann kann man nur eins davon vererben... | ||
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2 |
Daniel Knobe |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ok, wenn man keine mehrfachvererbung hat, wie soll man dann wie in dieser Grafik verdeutlicht vererben???
http://dking.dk.funpic.de/BlitzMax/1.bmp Klasse 1 will von Klasse a und b erben? Klasse 2 nur von Klasse b? Dumm währe ja in Klasse 1 ein objekt auf die zu erbenden klassen a und b zu stellen und in klasse b ein objekt auf klasse b. Das würde die ganze sache nur unnötig kompliziert machen. mfg DKing |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group