Problem mit Mehrfachvererbung



  • queer_boy schrieb:

    die offensichtliche lösung besteht darin, dem compiler mitzuteilen, auf welchen DarthVader du zugreifen willst - den aus DeathStar::Yoda oder den von BobaFett::Yoda.

    TheImperator (DeathStar::DarthVader);
    

    (edit: eine alternative wäre, Yoda zu einer virtuellen basisklasse zu machen - die ist allerdings mit einigen nachteilen verbunden)

    Oh ja, vielen Dank!

    queer_boy schrieb:

    aus deinen klassenbenennungen werde ich allerdings nicht schlau. du weißt schon, dass öffentliche vererbung eine is-a beziehung darstellt?
    die (bzw. eine) regel dazu ist das LSP

    Ja, und, wo ist das Problem? Was hat das mit meinen Klassen zu tun?


  • Administrator

    Hakan B. schrieb:

    queer_boy schrieb:

    aus deinen klassenbenennungen werde ich allerdings nicht schlau. du weißt schon, dass öffentliche vererbung eine is-a beziehung darstellt?
    die (bzw. eine) regel dazu ist das LSP

    Ja, und, wo ist das Problem? Was hat das mit meinen Klassen zu tun?

    DeathStart is a Yoda
    -> Der Todesstern ist ein Yoda

    Und das geht so weiter mit den anderen Klassen. Viel Sinn macht das nicht, oder? 🙂

    Grüssli



  • Das war doch nur ein BEISPIEL. 😮 Da muss man doch nicht alles so genau nehmen. 🙄 Seid ihr immer so pingelig hier? 😕 😕 😕



  • Hakan B. schrieb:

    Das war doch nur ein BEISPIEL. 😮 Da muss man doch nicht alles so genau nehmen. 🙄 Seid ihr immer so pingelig hier? 😕 😕 😕

    Jup. sprechende Klassen- und Variablennamen sind mit das wichtigste um leserlichen Code zu haben. UNd was du da vrgelegt hast zeigt zwar, dass du Star Wars Fan bist aber man muss sich mühsam durchbeißen. Das ist nicht unbedingt zweckdienlinch, ich würd schätzen dass sich deshalb nichtmal halb so viele Leute das durchgelesen haben wie sonst.



  • pumuckl schrieb:

    Jup. sprechende Klassen- und Variablennamen sind mit das wichtigste um leserlichen Code zu haben.

    Aber der Compiler macht doch daraus dann auch irgendwelche komischen Namen und Adressverweise, die nicht verständlich sind. Ist es dann nicht besser, gleich beim Stil des Compilers zu bleiben (d. h. unverständlich), damit der nicht so viel konvertieren muß (von verständlich zu unverständlich) und das Programm schneller kompiliert?

    pumuckl schrieb:

    UNd was du da vrgelegt hast zeigt zwar, dass du Star Wars Fan bist aber man muss sich mühsam durchbeißen.

    Was hat das mit Star Wars zu tun? Ich hab mir die Namen einfach spontan ausgedacht. (Bei Yoda hab ich beispielsweise an Yoga gedacht.)



  • Hakan B. schrieb:

    Was hat das mit Star Wars zu tun? Ich hab mir die Namen einfach spontan ausgedacht. (Bei Yoda hab ich beispielsweise an Yoga gedacht.)

    Das Problem ist, dass jeder, der diese Namen kennt, unwillkürlich versucht, das Design dahinter zu verstehen. Das geht natürlich schief, weil es kein Design gibt, die Namen sind ja willkürlich gewählt. Trotzdem kostet das Zeit und lenkt vom eigentlichen Problem ab.

    Darum ist es besser, für solche Beispiele Bezeichner zu verwenden, die nicht mit einer bestimmten Bedeutung belegt sind.



  • Der einzige Grund für den TO, sein Geraffel hier zu posten war wohl, eine Trollaktion auszulösen.



  • Trollaktion? Dann muss ich hier auch noch einmal reinschreiben, kann ja nicht widerstehen. 😉

    KUNSTRASEN!



  • Fellhuhn schrieb:

    KUNSTRASEN!

    Ich hasse KUSTRASEN!



  • pumuckl schrieb:

    Jup. sprechende Klassen- und Variablennamen sind mit das wichtigste um leserlichen Code zu haben. UNd was du da vrgelegt hast ...

    Und Rechtschreibung ist für leserliche Beiträge sehr wichtig!

    P.S.: @Originalposter: ShoutOut(this.Benutzername.Replace("Darth", "Halt's"));



  • Habt ihr etwa Angst vor Darth Maul, oder warum schreibt niemand mehr?

    Ich beschütze euch!! Stellt euch hinter mich!
    Die dunkle Seite ist stark, aber die helle Seite viel stärker!

    "Dunkel die andere Seite ist, sehr dunkel!" "Halts Maul, Yoda, und iss den Toast!"


Anmelden zum Antworten