Hirdetés

Keresés

Új hozzászólás Aktív témák

  • Karma
    félisten

    Újabb "komoly" problémába ütköztem: a szülő osztály tartalmaz egy statikus main metódust, ami a szülőt példányosítja. Meg lehet írni a szülő osztályban ezt a metódust úgy, hogy öröklődés esetén a gyerek osztályból készítsen egy példányt?
    Egyelőre úgy tűnik, hogy ez kivitelezhetetlen...

    (eredetileg az eclipse-ben lévő new->class template-ek közé szerettem volna gyártani egy újat, ami megfelel az igényeimnek de kissé bonyolultnak tűnik a dolog, elsőre egyszerűbbnek tűnt a mintát egyszer megírni és az újabb próbálkozásokban csak a mintát bővíteni öröklődés által)

    Ez most csak egy ötlet, de szerintem meg lehet oldani.

    Most olvastam, hogy a statikus metódusok compile-time bindingon mennek át, tehát ha az ősosztályban hivatkozol egy saját statikus metódusra közvetlenül, akkor biztosan az ősosztályé fog meghívódni.

    Viszont ha reflekciót használsz, akkor meg tudod hívni név alapján.

    Úgyhogy megpróbálhatnál az ős- és leszármazott osztályban is egy azonos nevű factory metódust írni, és azt a main()-ben GetClass().GetMethod("xxx") és az Invoke() segítségével meghívni.

    Annyi mondjuk a csavar csak, hogy a main() metódust indításkor meg kell határoznod, melyik osztályban keresse a JVM :U De úgyis csak kísérletről van szó, nem?

    Élő rendszerekben ez nagyságrendekkel bonyolultabb, általában frameworkök vannak az életciklusokra, a cserélhetőségre meg ilyenek...

Új hozzászólás Aktív témák