Zárt osztály

Szerző: Lewis Jackson
A Teremtés Dátuma: 8 Lehet 2021
Frissítés Dátuma: 25 Június 2024
Anonim
Zárt osztály - Technológia
Zárt osztály - Technológia

Tartalom

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 zá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 lezárt típusról nem lezártra változtatja.


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.

Bevezetés a Microsoft Azure és a Microsoft Cloud | A jelen útmutató során megtanulja, hogy mi a lényeg a felhőalapú számítástechnikában, és hogyan segítheti a Microsoft Azure a felhőből történő migrációt és az üzleti vállalkozás futtatását.

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
Ezt a meghatározást a C #