Statisch erben?



  • Geht das? So dass die Basisklasse für sämtliche instanzen nur 1 mal existiert ... 😕



  • Nein.



  • hustbaer schrieb:

    Nein.

    Aber wäre doch praktisch oder? 😃



  • Fragensteller? schrieb:

    Aber wäre doch praktisch oder? 😃

    Mir fällt da ehrlich egsagt kein Anwendungsbeispiel ein. Und wenn du die Basisklasse nur einmal haben willst, mach ne Singleton draus, oder ne statische Klassenvariable und machs ohne Vererbung.



  • Xebov schrieb:

    Fragensteller? schrieb:

    Aber wäre doch praktisch oder? 😃

    Mir fällt da ehrlich egsagt kein Anwendungsbeispiel ein. Und wenn du die Basisklasse nur einmal haben willst, mach ne Singleton draus und machs ohne Vererbung.

    Naja man kann auf die Basisklasse casten und eine Instanz ändert alle 🙂

    Na gut letzteres ist zwar jetzt auch anders einfach umsetzbar aber insgesamt wäre einfach static beim erben zu schreiben kürzer 😃


  • Administrator

    Fragensteller? schrieb:

    ... aber insgesamt wäre einfach static beim erben zu schreiben kürzer 😃

    Erstelle_mein_Programm;
    

    Wäre auch deutlich kürzer :p
    So eine Möglichkeit, wie du sie vorschlägst, wäre ziemlich schwer in den aktuellen Standard unterzubringen. Es verletzt das Speichermodell, da der Speicher von einem Objekt plötzlich nicht mehr am Stück wäre.

    Grüssli



  • Fragensteller? schrieb:

    Xebov schrieb:

    Fragensteller? schrieb:

    Aber wäre doch praktisch oder? 😃

    Mir fällt da ehrlich egsagt kein Anwendungsbeispiel ein. Und wenn du die Basisklasse nur einmal haben willst, mach ne Singleton draus und machs ohne Vererbung.

    Naja man kann auf die Basisklasse casten und eine Instanz ändert alle 🙂

    Na gut letzteres ist zwar jetzt auch anders einfach umsetzbar aber insgesamt wäre einfach static beim erben zu schreiben kürzer 😃

    Die Implementierung wäre nicht sinnvoll möglich, und es würde sich auch kaum irgendwie vernünftig in den Standard integrieren lassen. Denk das mal ein wenig durch, dann wirst du schnell draufkommen, dass es furchtbarer Unsinn ist.

    Was z.B. wenn ich zwei Zeiger auf verschiedene Objekte auf die "statische" Basisklasse caste? Bekomme ich dann den selben Zeiger? Wenn ja, wie soll man dann den downcast auf die abgeleitete Klasse korrekt implementieren, nämlich so, dass ich wieder bei dem Objekt lande, von dem ich ausgegangen bin.
    Wenn nein, dann hätten wir zwei unterschiedliche Zeiger, die auf das selbe Objekt verweisen. Semantisch totaler Humbug. Und für die Implementierung der totale Horror, weil man dazu sämtliche Zeiger aufblasen müsste. Und das für ein Feature, welches einem Noob vielleicht c00l vorkommt, aber eigentlich total unnütz ist. Hmmmm....


Anmelden zum Antworten