c using statement c virtual method tutorial with examples
Deze diepgaande zelfstudie legt alles uit over C # met behulp van een verklaring en virtuele methode. Je leert ook het verschil tussen abstracte en virtuele methoden:
Het blok Gebruiken helpt voornamelijk bij het beheren van bronnen, het stelt het systeem in staat om zijn bronnen te beheren door het bereik van het object en de vereiste bronnen te specificeren.
Het .Net Framework biedt verschillende manieren voor resourcebeheer voor objecten met behulp van een garbage collector. Het betekent dat u niet expliciet geheugenobjecten hoeft toe te wijzen en te verwijderen. Het schoonmaken van elk onbeheerd object zal worden afgehandeld met behulp van destructor.
Om programmeurs te helpen dit te bereiken, biedt C # using statement een voorwaarde voor de vernietiging van het object.
Bekijk hier de gratis C # trainingsgids
Om automatische vernietiging van het object te bereiken, biedt C # een verwijderingsmethode die kan worden aangeroepen wanneer het object niet meer nodig is. De instructie using in C # definieert een voorwaardelijke grens voor het bestaan van het object. Zodra de uitvoeringsvolgorde de gebruiksbegrenzing verlaat, weet het .Net-framework dat het tijd is om dat object te vernietigen.
Wat je leert:
C # met behulp van Statement
Implementeer IDisposable-interface voor gebruik
De instructie C # Using stelt de programmeurs in staat om verschillende bronnen in één instructie te implementeren. Alle objecten die in het codeblok zijn gedefinieerd, moeten de IDisposable-interface implementeren en dit stelt het framework in staat om de dispose-methoden voor de gespecificeerde objecten in de instructie aan te roepen zodra deze is verlaten.
Voorbeeld
Het gebruik van statements kan worden gecombineerd met een type dat IDisposable kan implementeren, zoals StreamWriter, StreamReader, etc.
Laten we eens kijken naar een eenvoudig programma:
sql examenvragen en antwoorden pdf
Uitvoer
De output van het bovenstaande programma:
Binnen met statement
Gooi de methode weg
Buiten het gebruik-instructieblok
Uitleg
In het bovenstaande voorbeeld, wanneer het programma wordt uitgevoerd, wordt eerst de 'SysObj' -instantie toegewezen in de geheugenheap. Vervolgens begint het gebruikte blok met de uitvoering en drukt het de uitvoer af die we in de console hebben gedefinieerd. Vervolgens wordt de uitvoering onmiddellijk overgebracht naar de dispose-methode wanneer het instructieblok Using wordt overschreden.
Vervolgens verlaat de code het instructieblok en drukt de externe instructie af naar de console.
C # Virtuele methode
Wat is een virtuele methode?
Een virtuele methode is een klassemethode die functionaliteit biedt aan de programmeur om een methode in de afgeleide klasse met dezelfde handtekening te overschrijven. Virtuele methoden worden voornamelijk gebruikt om polymorfisme uit te voeren in de OOP-omgeving.
Een virtuele methode kan een implementatie hebben in zowel afgeleide als basisklassen. Het wordt voornamelijk gebruikt wanneer een gebruiker meer functionaliteit nodig heeft in de afgeleide klasse.
Een virtuele methode wordt eerst gemaakt in een basisklasse en vervolgens wordt deze overschreven in de afgeleide klasse. Een virtuele methode kan in de basisklasse worden aangemaakt door het sleutelwoord “virtueel” te gebruiken en dezelfde methode kan in de afgeleide klasse worden overschreven door het sleutelwoord “override” te gebruiken.
Virtuele methoden: enkele punten om te onthouden
- De virtuele methode in de afgeleide klasse heeft het virtuele sleutelwoord en de methode in de afgeleide klasse zou een vervangend sleutelwoord moeten hebben.
- Als een methode wordt gedeclareerd als een virtuele methode in de basisklasse, dan is het niet altijd vereist door de afgeleide klasse om die methode te overschrijven, d.w.z. het is optioneel om een virtuele methode in de afgeleide klasse te overschrijven.
- Als een methode dezelfde definitie heeft in zowel de basisklasse als de afgeleide klasse, hoeft de methode niet te worden overschreven. Override is alleen vereist als beide een verschillende definitie hebben.
- De overheersende methode stelt ons in staat om meer dan één formulier voor dezelfde methode te gebruiken, dus het vertoont ook polymorfisme.
- Alle methoden zijn standaard niet-virtueel.
- Een virtuele modificator kan niet worden gebruikt in combinatie met privé-, statische of abstracte modificatoren.
Wat is het gebruik van virtueel trefwoord in C #?
Het virtuele sleutelwoord in C # wordt gebruikt om het lid van de basisklasse in zijn afgeleide klasse op basis van de vereiste te overschrijven.
gemakkelijke mp3 downloader gratis download volledige versie
Een virtueel sleutelwoord wordt gebruikt om de virtuele methode in de basisklasse te specificeren en de methode met dezelfde handtekening die moet worden overschreven in de afgeleide klasse, wordt voorafgegaan door het vervangende sleutelwoord.
Verschil tussen abstracte methode en virtuele methode
Virtuele methoden bevatten implementatie en laten de afgeleide klasse deze overschrijven, terwijl de abstracte methode geen enkele implementatie biedt en het de programmeurs dwingt om overschrijfmethoden in de afgeleide klasse te schrijven.
Daarom bevatten de abstracte methoden, in eenvoudige bewoordingen, geen code, terwijl de virtuele methode zijn eigen implementatie heeft.
Verschil tussen virtueel en overschrijven in C #
Het virtuele sleutelwoord wordt meestal gevolgd door de handtekening van de methode, eigenschap, enz. En staat toe dat het overschreven wordt in de afgeleide klasse. Het sleutelwoord override wordt gebruikt in de afgeleide klasse met dezelfde methode / eigenschapshandtekening als in de basisklasse om override in de afgeleide klasse te bereiken.
Is het verplicht om de virtuele methode in C # te overschrijven?
De compiler zal programmeurs nooit dwingen om een virtuele methode te overschrijven. Het is niet altijd vereist door de afgeleide klasse om de virtuele methode te overschrijven.
Voorbeeld
Laten we een voorbeeld bekijken om de virtuele methoden beter te begrijpen.
In dit voorbeeld zullen we twee verschillende methoden in de basisklasse gebruiken, de eerste is een niet-virtuele methode en de andere is een virtuele methode met het virtuele sleutelwoord. Beide methoden worden overschreven in de afgeleide klasse.
Laten we eens kijken:
Programma
Uitvoer
zet char * om naar int c ++
De output van het bovenstaande programma is:
Dit is een optelmethode in de afgeleide klasse
Dit is een optelmethode
Dit is de overschrijving van de aftrekmethode in de afgeleide klasse
Dit is de overschrijving van de aftrekmethode in de afgeleide klasse
Uitleg
In het bovenstaande voorbeeld hebben we twee klassen, namelijk Getal en Berekenen. De basisklasse Getal heeft twee methoden, namelijk optellen en aftrekken, waarbij optellen een niet-virtuele methode is en aftrekken een virtuele methode. Daarom wordt, wanneer we dit programma uitvoeren, de virtuele methode 'toevoeging' van de basisklasse overschreven in de afgeleide klasse Calculate.
In een andere klasse “Programma” maken we een startpunt om een instantie van de afgeleide klasse Calculate te maken en dan wijzen we dezelfde instantie toe aan het instantieobject van de basisklasse.
Wanneer we de virtuele en niet-virtuele methoden aanroepen door de klasse-instanties te gebruiken, zien we dat de virtuele methode werd overschreven door beide instanties te gebruiken, terwijl de niet-virtuele methode alleen werd overschreven tijdens het aanroepen van de afgeleide klasse.
Gevolgtrekking
De instructie using in C # wordt voornamelijk gebruikt voor resourcebeheer. De instructie using definieert een voorwaardelijke grens voor het bestaan van een object.
Zodra de uitvoering het instructieblok verlaat, vertelt het het raamwerk om elk object dat binnen het instructieblok is gemaakt te vernietigen. Code gedefinieerd in de instructie moet ook een IDisposable-interface implementeren zodat het .Net-framework de dispose-methode voor de gedefinieerde objecten kan aanroepen.
Met een virtuele methode kan de gebruiker een methode in de afgeleide klasse overschrijven die dezelfde handtekening heeft als de methode in de basisklasse. De virtuele methode kan worden gebruikt om polymorfisme te bereiken in objectgeoriënteerde programmeertalen.
Een virtuele methode wordt vooral gebruikt als er extra functionaliteit nodig is in de afgeleide klasse. Virtuele methoden kunnen niet privé statisch of abstract zijn. Het wordt gedefinieerd door een virtueel trefwoord in de basisklasse te gebruiken en het trefwoord in de afgeleide klasse te vervangen.
Bekijk hier de diepgaande C # -trainingen
Aanbevolen literatuur
- Python DateTime-zelfstudie met voorbeelden
- Selenium Find Element By Text Tutorial met voorbeelden
- MongoDB Sort () -methode met voorbeelden
- MongoDB-querydocument met de methode Find () (voorbeelden)
- Gebruik van Cursor in MongoDB met voorbeelden
- C # Klassen en objecten: een diepgaande zelfstudie met voorbeelden
- Unix Shell Scripting Tutorial met voorbeelden
- C # Tutorial voor het afhandelen van uitzonderingen met codevoorbeelden