Tartalomjegyzék:
Meghatározás - Mit jelent a zárt osztály?
A lezárt osztály a C #-ban egy olyan osztály, amelyet egyetlen osztály sem örökölhet, de megvalósítható.
A lezárt osztály tervezési szándéka azt jelzi, hogy az osztály specializálódott, és nincs szükség annak kibővítésére, hogy az öröklés révén bármilyen kiegészítő funkcionalitást biztosítson, hogy felülbírálja a viselkedését. A zárt osztályt gyakran használják egy olyan logika beágyazására, amelyet a program egészében kell használni, anélkül, hogy bármiféle megváltoztatná azt.
A lezárt osztályt főként biztonsági okokból használják azáltal, hogy megakadályozzák a nem szándékos származtatást, amely révén a származtatott osztály megronthatja a lezárt osztályban biztosított megvalósítást. Mivel a lezárt osztály nem képez alaposztályt, a lezárt osztályokba történő hívások valamivel gyorsabbak, mivel lehetővé teszik bizonyos futási idő optimalizálást, például a virtuális tag funkciók meghívását a lezárt osztály példányaiin nem virtuális meghívásokra. A zárt osztály elősegíti a verziókészítést azáltal, hogy nem szakítja meg a kompatibilitást, miközben az osztályt zárt típusúról nem zártra váltják.
A .NET keretkönyvtár néhány kulcsosztálya zárt osztályokként van kialakítva, elsősorban az osztályok kibővíthetőségének korlátozása érdekében.
A Techopedia magyarázza a Sealed Class-t
Az implicit módon lezárt szerkezettel ellentétben a lezárt osztályt "lezárt" kulcsszóval deklarálják, hogy megakadályozzák az osztály véletlen öröklődését. A zárt osztály csak akkor lehet hasznos, ha rendelkezik nyilvános szintű akadálymentességgel. A lezárt osztály nem lehet absztrakt osztály, mivel az elvont osztályt egy másik osztály származtatja, amely megvalósítja az absztrakt módszereket és tulajdonságokat.
Például egy zárt osztályt, a DatabaseHelper-t olyan tulajdonságokkal és módszerekkel lehet megtervezni, amelyek kiszolgálhatják az adatbázisokkal kapcsolatos műveletek funkcióit, ideértve a nyílt és zárt adatbázis-kapcsolatot, az adatok letöltését és frissítését, stb. nem szabad megváltoztatni az abból származó osztályok felülbírálása révén, zárt osztályként is megtervezhetők.
A lezárás korlátozza a kiterjesztés előnyeit és megakadályozza a könyvtárak testreszabását. Ezért egy osztályt le kell zárni, miután gondosan mérlegelte a lezárás hatását. Az osztály lezárásakor figyelembe veendő kritériumok tartalmazzák:- Az osztály statikus
- Az osztály örökölt tagokat tartalmaz, amelyek érzékeny információkat képviselnek
- Az osztályt lekérdezzük, hogy a reflexiós módszer segítségével beolvassa az attribútumait
- Az osztály sok virtuális tagot örököl, amelyeket le kell zárni