Mi a különbség a static és a non-static osztály között?
Static osztály:
- nem példányosítható
- előbbi miatt nem tartalmazhat példányszintű tagot
- megnyomoríthatja az életedet, ha unit tesztelésről van szó, mivel csak nagyon durva hackeléssel cserélheted le a static függőségeket
- megnyomoríthatja az életedet, mert globális komponensként viselkedik és nagyon mélyen ráakaszkodhat a rendszeredre, amit akár karbantarthatatlanná is tehet
- a nyelvek (például a C#) nem mondják ki pontosan, hogy mikor inicializálódik a static osztály - az a mondás, hogy amikorra kell, addigra kész lesz (ez azt jelenti, hogy nem alapozhatsz arra, hogy a program indulásakor fog inicializálódni)
- azt is mondják, hogy a static osztály az OOP szemlélet megerőszakolása, így érdemes nagyon alapos oknak lennie, ha használjuk
Nem static osztály:
- példányosítható
- tartalmazhat egyaránt példányszintű és statikus tagot is (utóbbival ésszel)
- te döntöd el, hogy mikor inicializálsz egy új példányt a példányosítással
- modern rendszerek építésében nagyon szeretjük, mert a függőségek jól leválaszthatóak további absztrakciókkal (interfész vagy absztrakt osztály)
Ha kezdő programozó vagy és static osztályt/tagot írsz, én azt mondanám, hogy emlékezz arra az érzésre, amikor a fogadat érzéstelenítés nélkül húzzák ki.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!