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

  • axioma

    veterán

    Elvi kerdesem van.
    Olyan szituacioba botlottam, hogy logikus lenne egy statikus de absztrakt fuggvenyt definialni, amit ugye nem lehet, es interface se lehet statikus fuggveny. A konkret eset ugy szol, hogy memoriadarabkakat leiro osztalyaim vannak (a darabok kiosztasa tulkepp egy interface koztem es az embedded program kozott, egy flash-be kerul bele). Namarmost a tarolasnak vannak generacioi, es igy egyes kozos tulajdonsagok, pl. a darab hossza fugg(het) a generaciotol, de azon belul peldanytol mar nem. (Egyelore nem tobzodunk bennuk, mert nincs me'g kint a termek azaz csak egyet hasznalunk, de nyilvan altalnosan kene felepiteni, mert kesobb - hosszu eletciklusu termek - tuti lesz ra pelda.)
    A statikussag meg azert kell, mert bizonyos infokat - mint pl. a hossz - vagy a kezelotol, vagy a memoriabol mas helyrol (az fix) megkapott generaciobol kell tudnom me'g mielott peldanyt hozok letre, pl. hogy mekkora reszt kell kiolvasnom mashonnan, vagy letrehoznom ujkent, es ezen adatokkal johet csak letre peldany mar eleve kitoltve.
    Nyilvan az megvan, hogy definialom nem absztraktkent, es vagy a jelenlegi generacio adataval ter vissza, vagy dob egy exceptiont, utobbival legalabb kesobbi karbantartaskor is ha nem is fejlesztesi, de legalabb elso rafutasi esetnel kibukik, hogy muszaj override-olnia [velhetoen mas fogja mar csinalni]. Illetve azt is lehet, hogy az absztrakt osztalynak csinalok egy olyan gettert, ami a generaciotol fuggoen meghivja az adott statikus fuggvenyt, ez me'g labilisabb bovitesi hibara nezve. Vagy persze lehetne me'g ugy inditani, hogy dummy peldanyokat teszek le csak azert, hogy tudjam oket kerdezni, de ez mar se nem szep, se nem karbantartasbiztos. Nyilvan az egy dolog, hgy dokumentacioban meg lehet emlekezni mindezen feltetelekrol (kodba irt komment es kulso fejlesztesi doksi egyarant), ha igy nezem nem egy kardinalis problema, de mint elvi kerdes izgat. Sot, igazabol jo lenne megertenem, hogy mi oka van a static abstract tiltasnak (mert ami egyetlen eszembe jut, hogy ne letezzen olyan static ami nem hivhato meg, arra ott az ellenpelda az abstract osztaly letez(het)o constructora, me'g ha nincs is odairva ele a static elotet, de ott tudja kapasbol hogy nem hivhato ra a peldanyositas).

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

Hirdetés