c using statement c virtual method tutorial with examples
Ce didacticiel détaillé explique tout sur C # à l'aide de l'instruction et de la méthode virtuelle. Vous apprendrez également la différence entre les méthodes abstraites et virtuelles:
Le bloc Utilisation aide principalement à gérer les ressources, il permet au système de gérer ses ressources en spécifiant la portée de l'objet et ses besoins en ressources.
Le .Net Framework propose différentes méthodes de gestion des ressources pour les objets à l'aide d'un garbage collector. Cela signifie que vous n’avez pas besoin d’allouer et de supprimer explicitement des objets mémoire. L'opération de nettoyage pour tout objet non géré sera gérée à l'aide du destructeur.
Pour aider les programmeurs à atteindre cet objectif, l'instruction using C # fournit une condition pour la destruction de l'objet.
=> Consultez le guide de formation gratuit C # ici .
Pour réaliser l'autodestruction de l'objet, C # propose une méthode de disposition qui peut être appelée lorsque l'objet n'est plus requis. L'instruction using en C # définit une limite conditionnelle pour l'existence de l'objet. Une fois que la séquence d'exécution quitte la limite d'utilisation, le framework .Net saura qu'il est temps de détruire cet objet.
Ce que vous apprendrez:
- Instruction C # Using
- Méthode virtuelle C #
- Qu'est-ce qu'une méthode virtuelle?
- Méthodes virtuelles: quelques points à retenir
- Quelle est l'utilisation du mot-clé virtuel en C #?
- Différence entre la méthode abstraite et la méthode virtuelle
- Différence entre virtuel et remplacement en C #
- Est-il obligatoire de remplacer la méthode virtuelle en C #?
- Conclusion
Instruction C # Using
Implémenter l'interface IDisposable pour l'utilisation
L'instruction C # Using permet aux programmeurs d'implémenter plusieurs ressources dans une seule instruction. Tous les objets définis dans le bloc de code using doivent implémenter l'interface IDisposable, ce qui permet au framework d'appeler les méthodes de suppression pour les objets spécifiés à l'intérieur de l'instruction une fois qu'elle est quittée.
Exemple
Les instructions using peuvent être combinées avec un type qui peut implémenter IDisposable comme StreamWriter, StreamReader, etc.
Jetons un œil à un programme simple:
comment afficher les fichiers dat sur windows
public class Program { public static void Main(string() args) { using (SysObj so = new SysObj()) { Console.WriteLine('Inside using statement'); } Console.WriteLine('Outside of the using statement block'); } } class SysObj : IDisposable { public void Dispose() { Console.WriteLine('Dispose method'); } }
Production
La sortie du programme ci-dessus:
À l'intérieur de la déclaration d'utilisation
Dispose méthode
En dehors du bloc d'instructions using
Explication
Dans l'exemple ci-dessus, lorsque le programme est exécuté, l'instance «SysObj» est d'abord allouée dans le tas de mémoire. Ensuite, le bloc using commence à s'exécuter et imprime la sortie que nous avons définie dans la console. Ensuite, lorsque le bloc d'instructions Using est terminé, l'exécution est immédiatement transférée vers la méthode dispose.
Ensuite, le code quitte le bloc d'instructions et imprime l'instruction externe sur la console.
Méthode virtuelle C #
Qu'est-ce qu'une méthode virtuelle?
Une méthode virtuelle est une méthode de classe qui offre au programmeur des fonctionnalités pour remplacer une méthode de la classe dérivée qui a la même signature. Les méthodes virtuelles sont principalement utilisées pour effectuer le polymorphisme dans l'environnement POO.
Une méthode virtuelle peut avoir une implémentation dans les classes dérivées et de base. Il est principalement utilisé lorsqu'un utilisateur a besoin de plus de fonctionnalités dans la classe dérivée.
Une méthode virtuelle est d'abord créée dans une classe de base, puis elle est remplacée dans la classe dérivée. Une méthode virtuelle peut être créée dans la classe de base à l'aide du mot clé «virtual» et la même méthode peut être remplacée dans la classe dérivée à l'aide du mot clé «override».
Méthodes virtuelles: quelques points à retenir
- La méthode virtuelle de la classe dérivée a le mot-clé virtual et la méthode de la classe dérivée doit avoir un mot-clé override.
- Si une méthode est déclarée en tant que méthode virtuelle dans la classe de base, la classe dérivée n’a pas toujours besoin de remplacer cette méthode, c’est-à-dire qu’il est facultatif de remplacer une méthode virtuelle dans la classe dérivée.
- Si une méthode a la même définition dans la classe de base et la classe dérivée, il n’est pas nécessaire de remplacer la méthode. Le remplacement n'est requis que si les deux ont une définition différente.
- La méthode de substitution nous permet d'utiliser plus d'une forme pour la même méthode, par conséquent, elle montre également un polymorphisme.
- Toutes les méthodes sont non virtuelles par défaut.
- Un modificateur virtuel ne peut pas être utilisé avec les modificateurs Privé, Statique ou Abstrait.
Quelle est l'utilisation du mot-clé virtuel en C #?
Le mot clé virtual en C # est utilisé pour remplacer le membre de classe de base dans sa classe dérivée en fonction de l'exigence.
comment construire un pare-feu pour Windows
Un mot-clé virtuel est utilisé pour spécifier la méthode virtuelle dans la classe de base et la méthode avec la même signature qui doit être remplacée dans la classe dérivée est précédée du mot-clé override.
Différence entre la méthode abstraite et la méthode virtuelle
Les méthodes virtuelles contiennent une implémentation et permettent à la classe dérivée de la remplacer alors que la méthode abstraite n'offre aucune implémentation et elle force les programmeurs à écrire des méthodes de substitution dans la classe dérivée.
Par conséquent, en termes simples, les méthodes abstraites n'ont pas de code à l'intérieur tandis que la méthode virtuelle a sa propre implémentation.
Différence entre virtuel et remplacement en C #
Le mot-clé virtuel est généralement suivi de la signature de la méthode, de la propriété, etc. et lui permet d'être remplacé dans la classe dérivée. Le mot clé override est utilisé dans la classe dérivée avec la même signature de méthode / propriété que dans la classe de base pour obtenir le remplacement dans la classe dérivée.
Est-il obligatoire de remplacer la méthode virtuelle en C #?
Le compilateur n'obligera jamais les programmeurs à remplacer une méthode virtuelle. La classe dérivée n’a pas toujours besoin de remplacer la méthode virtuelle.
Exemple
Jetons un œil à un exemple pour comprendre plus clairement les méthodes virtuelles.
Dans cet exemple, nous utiliserons deux méthodes différentes dans la classe de base, la première est une méthode non virtuelle et l'autre est une méthode virtuelle avec le mot-clé virtual. Ces deux méthodes seront remplacées dans la classe dérivée.
Jetons un coup d'oeil:
Programme
using System; public class Program { public static void Main(string() args) { calculate calc = new calculate (); numbers nmbr = calc; calc.addition(); nmbr.addition(); calc.subtraction(); nmbr.subtraction(); } } public class numbers { public void addition(){ Console.WriteLine('This is addition method'); } public virtual void subtraction(){ Console.WriteLine('This is subtraction method'); } } public class calculate : numbers { public void addition(){ Console.WriteLine('This is addition method in the derived class'); } public override void subtraction(){ Console.WriteLine('This is subtraction method override in derived class'); } }
Production
comment ouvrir des fichiers swf avec adobe flash player
La sortie du programme ci-dessus est:
Ceci est une méthode d'addition dans la classe dérivée
C'est la méthode d'addition
Il s'agit d'un remplacement de méthode de soustraction dans une classe dérivée
Il s'agit d'un remplacement de méthode de soustraction dans une classe dérivée
Explication
Dans l'exemple ci-dessus, nous avons deux classes, à savoir Number et Calculate. La classe de base Number a deux méthodes, à savoir l'addition et la soustraction où l'addition est une méthode non virtuelle et la soustraction est une méthode virtuelle. Par conséquent, lorsque nous exécutons ce programme, la méthode virtuelle de la classe de base «addition» est remplacée dans la classe dérivée Calculate.
Dans une autre classe «Program», nous créons un point d'entrée pour créer une instance de la classe dérivée Calculate puis nous affectons la même instance à l'objet instance de la classe de base.
Lorsque nous appelons les méthodes virtuelles et non virtuelles à l'aide des instances de classe, nous voyons que la méthode virtuelle a été remplacée en utilisant les deux instances, tandis que la méthode non virtuelle a été remplacée uniquement lors de l'appel de la classe dérivée.
Conclusion
L'instruction using en C # est principalement utilisée pour la gestion des ressources. L'instruction using définit une limite conditionnelle pour l'existence d'un objet.
Une fois que l'exécution est sortie du bloc d'instructions, elle indique au framework de détruire tout objet créé à l'intérieur du bloc d'instructions. Le code défini dans l'instruction doit également implémenter une interface IDisposable pour permettre au framework .Net d'appeler la méthode dispose pour les objets définis.
Une méthode virtuelle permet à l'utilisateur de remplacer une méthode de la classe dérivée qui a la même signature que la méthode de la classe de base. La méthode virtuelle peut être utilisée pour réaliser le polymorphisme dans les langages de programmation orientés objet.
Une méthode virtuelle est principalement utilisée lorsque des fonctionnalités supplémentaires sont requises dans la classe dérivée. Les méthodes virtuelles ne peuvent pas être statiques ou abstraites privées. Il est défini en utilisant un mot-clé virtuel dans la classe de base et un mot-clé de substitution dans la classe dérivée.
=> Regardez les didacticiels de formation C # détaillés ici
lecture recommandée
- Tutoriel Python DateTime avec des exemples
- Tutoriel de recherche d'élément par texte Selenium avec des exemples
- Méthode MongoDB Sort () avec exemples
- Document de requête MongoDB utilisant la méthode Find () (exemples)
- Utilisation du curseur dans MongoDB avec des exemples
- Classes et objets C #: un didacticiel détaillé avec des exemples
- Tutoriel de script Unix Shell avec exemples
- Tutoriel sur la gestion des exceptions C # avec des exemples de code