Casa Sviluppo Che cos'è una classe sigillata? - definizione da techopedia

Che cos'è una classe sigillata? - definizione da techopedia

Sommario:

Anonim

Definizione - Cosa significa Classe sigillata?

Una classe sigillata, in C #, è una classe che non può essere ereditata da nessuna classe ma può essere istanziata.

L'intento progettuale di una classe sigillata è di indicare che la classe è specializzata e non è necessario estenderla per fornire funzionalità aggiuntive tramite l'ereditarietà per sovrascriverne il comportamento. Una classe sigillata viene spesso utilizzata per incapsulare una logica che deve essere utilizzata in tutto il programma ma senza alcuna alterazione.

Una classe sigillata viene utilizzata principalmente per motivi di sicurezza impedendo la derivazione involontaria con la quale la classe derivata può corrompere l'implementazione fornita nella classe sigillata. Poiché la classe sigillata non può formare una classe base, le chiamate alle classi sigillate sono leggermente più veloci perché consentono determinate ottimizzazioni di runtime come l'invocazione di funzioni membro virtuali su istanze di classe sigillata in invocazioni non virtuali. La classe sigillata aiuta nel controllo delle versioni non rompendo la compatibilità mentre si cambia una classe da tipo sigillato a non sigillato.

Alcune delle classi chiave nella libreria .NET framework sono progettate come classi sigillate, principalmente per limitare l'estensibilità di queste classi.

Techopedia spiega la classe sigillata

A differenza di una struttura, che è implicitamente sigillata, una classe sigillata viene dichiarata con la parola chiave "sigillata" per impedire l'ereditarietà accidentale della classe. Una classe sigillata può essere utile solo se ha metodi con accessibilità a livello pubblico. Una classe sigillata non può essere una classe astratta poiché la classe astratta deve essere derivata da un'altra classe che fornisce l'implementazione per i metodi e le proprietà astratte.

Ad esempio, una classe sigillata, DatabaseHelper, può essere progettata con proprietà e metodi in grado di servire le funzionalità delle azioni relative al database, tra cui connessione a database aperto e chiuso, recupero e aggiornamento dei dati, ecc. Perché svolge funzioni cruciali che dovrebbero non essere manomesso sostituendo le sue classi derivate, può essere progettato come classe sigillata.

La sigillatura limita il vantaggio dell'estensibilità e impedisce la personalizzazione dei tipi di libreria. Quindi, una classe deve essere sigillata dopo aver attentamente valutato l'impatto della sua sigillatura. L'elenco dei criteri da considerare per sigillare una classe comprende:
  • La classe è statica
  • La classe contiene membri ereditati che rappresentano informazioni riservate
  • Si richiede alla classe di recuperare i suoi attributi attraverso il metodo reflection
  • La classe eredita molti membri virtuali che devono essere sigillati
Questa definizione è stata scritta nel contesto di C #
Che cos'è una classe sigillata? - definizione da techopedia