Utesnená trieda

Autor: Lewis Jackson
Dátum Stvorenia: 8 Smieť 2021
Dátum Aktualizácie: 25 V Júni 2024
Anonim
Utesnená trieda - Technológie
Utesnená trieda - Technológie

Obsah

Definícia - Čo znamená trieda Sealed?

Zapečatená trieda v C # je trieda, ktorú nemôže zdediť žiadna trieda, ale je možné ju vytvoriť.


Zámerom dizajnu zapečatenej triedy je naznačiť, že trieda je špecializovaná a netreba ju rozširovať, aby zabezpečovala akúkoľvek ďalšiu funkčnosť prostredníctvom dedičstva na potlačenie jej správania. Zapečatená trieda sa často používa na zapuzdrenie logiky, ktorá musí byť použitá v celom programe, ale bez akejkoľvek zmeny v nej.

Zapečatená trieda sa väčšinou používa z bezpečnostných dôvodov tým, že bráni neúmyselnému odvodeniu, ktorým môže odvodená trieda poškodiť implementáciu poskytnutú v zapečatenej triede. Pretože zapečatená trieda nemôže tvoriť základnú triedu, volania na zapečatené triedy sú o niečo rýchlejší, pretože umožňujú určité runtime optimalizácie, ako je vyvolanie virtuálnych členských funkcií v prípadoch zapečatenej triedy, na nev virtuálne vyvolania. Uzatvorená trieda pomáha pri vytváraní verzií tým, že nenaruší kompatibilitu pri zmene triedy z zapečateného typu na neuzatvorený.


Niektoré z kľúčových tried v rámcovej knižnici .NET sú navrhnuté ako zapečatené triedy, hlavne na obmedzenie rozšíriteľnosti týchto tried.

Úvod do programu Microsoft Azure a Microsoft Cloud V tejto príručke sa dozviete, o čom všetko je cloud computing a ako vám môže Microsoft Azure pomôcť migrovať a podnikať z cloudu.

Techopedia vysvetľuje Sealed Class

Na rozdiel od štruktúry, ktorá je implicitne zapečatená, je zapečatená trieda deklarovaná pomocou kľúčového slova „zapečatené“, aby sa zabránilo náhodnému dedičstvu triedy. Zapečatená trieda môže byť užitočná, iba ak má metódy s prístupnosťou na verejnej úrovni. Zapečatená trieda nemôže byť abstraktnou triedou, pretože abstraktná trieda má byť odvodená inou triedou, ktorá poskytuje implementáciu abstraktných metód a vlastností.


Napríklad zapečatenú triedu DatabaseHelper možno navrhnúť s vlastnosťami a metódami, ktoré môžu obsluhovať funkčnosť akcií súvisiacich s databázou, vrátane pripojenia otvorenej a uzavretej databázy, načítania a aktualizácie údajov atď. Pretože vykonáva kľúčové funkcie, ktoré by mali nemalo by sa s ním manipulovať prepísaním v jeho odvodených triedach, môže sa navrhnúť ako zapečatená trieda.

Uzatváranie obmedzuje výhody rozšíriteľnosti a zabraňuje prispôsobovaniu typov knižníc. Preto musí byť trieda zapečatená po starostlivom zvážení dopadu jej utesnenia. Zoznam kritérií, ktoré je potrebné zohľadniť pri zapečatení triedy, zahŕňa:
  • Trieda je statická
  • Trieda obsahuje zdedené členy, ktoré predstavujú citlivé informácie
  • Trieda sa spýta, aby načítala svoje atribúty pomocou metódy odrazu
  • Trieda zdedí mnoho virtuálnych členov, ktorí musia byť zapečatení
Táto definícia bola napísaná v konk. C #