Verzegelde klasse

Schrijver: Lewis Jackson
Datum Van Creatie: 8 Kunnen 2021
Updatedatum: 25 Juni- 2024
Anonim
Elif Episode 5 | English Subtitle
Video: Elif Episode 5 | English Subtitle

Inhoud

Definitie - Wat betekent Sealed Class?

Een verzegelde klasse, in C #, is een klasse die door geen enkele klasse kan worden geërfd, maar wel kan worden geïnstantieerd.


Het ontwerp van een verzegelde klasse is om aan te geven dat de klasse gespecialiseerd is en dat het niet nodig is om deze uit te breiden met extra functionaliteit door overerving om het gedrag te vervangen. Een verzegelde klasse wordt vaak gebruikt om een ​​logica in te kapselen die in het programma moet worden gebruikt, maar zonder enige wijziging.

Een verzegelde klasse wordt meestal om veiligheidsredenen gebruikt door onbedoelde afleiding te voorkomen waardoor de afgeleide klasse de implementatie in de verzegelde klasse kan beschadigen. Omdat de verzegelde klasse geen basisklasse kan vormen, zijn oproepen naar verzegelde klassen iets sneller omdat ze bepaalde runtime-optimalisaties mogelijk maken, zoals het aanroepen van functies van virtuele leden op instanties van verzegelde klassen in niet-virtuele aanroepen. Verzegelde klasse helpt bij versiebeheer door de compatibiliteit niet te verbreken terwijl een klasse van verzegeld type wordt gewijzigd in niet-verzegeld.


Sommige van de belangrijkste klassen in de .NET Framework-bibliotheek zijn ontworpen als verzegelde klassen, voornamelijk om de uitbreidbaarheid van deze klassen te beperken.

Een inleiding tot Microsoft Azure en de Microsoft Cloud | In deze handleiding leert u wat cloud computing inhoudt en hoe Microsoft Azure u kan helpen bij het migreren en runnen van uw bedrijf vanuit de cloud.

Techopedia legt Sealed Class uit

In tegenstelling tot een struct, die impliciet is verzegeld, wordt een verzegelde klasse verklaard met het trefwoord "verzegeld" om onbedoelde overerving van de klasse te voorkomen. Een verzegelde klasse kan alleen nuttig zijn als deze methoden heeft met openbare toegankelijkheid. Een verzegelde klasse kan geen abstracte klasse zijn, omdat de abstracte klasse bedoeld is om te worden afgeleid door een andere klasse die de abstracte methoden en eigenschappen implementeert.

Een verzegelde klasse, DatabaseHelper, kan bijvoorbeeld worden ontworpen met eigenschappen en methoden die de functionaliteiten van database-gerelateerde acties kunnen ondersteunen, inclusief open- en gesloten-database-verbinding, gegevens ophalen en bijwerken, enz. Omdat het cruciale functies uitvoert die moeten waarmee niet kan worden geknoeid door in de afgeleide klassen ervan te forceren, kan het worden ontworpen als verzegelde klasse.


Afdichting beperkt het voordeel van uitbreidbaarheid en voorkomt aanpassing van bibliotheektypen. Daarom moet een klasse worden afgesloten nadat de impact van het afdichten zorgvuldig is afgewogen. De lijst met criteria om te overwegen voor het afdichten van een klasse omvat:
  • De klasse is statisch
  • De klasse bevat overgeërfde leden die gevoelige informatie vertegenwoordigen
  • De klasse wordt gevraagd de attributen op te halen via de reflectiemethode
  • De klas neemt veel virtuele leden over die moeten worden verzegeld
Deze definitie is geschreven in de con van C #