Différence entre méthode virtuelle et méthode abstraite

Différence clé: les méthodes abstraites sont les méthodes déclarées mais qui n'ont aucune implémentation. Les méthodes virtuelles sont utilisées pour une implémentation du polymorphisme basé sur un type. La classe dérivée a la possibilité de réimplémenter la méthode virtuelle de la classe de base en utilisant le mot clé 'override'.

En C #, le mot clé abstract peut être utilisé avec les classes et les méthodes. Les méthodes abstraites sont les méthodes dépourvues de toute forme de mise en œuvre. Cependant, la logique de mise en œuvre est obtenue par les classes non abstraites qui en dérivent. Ceci est réalisé en surchargeant cette méthode. En raison de l'absence de mise en œuvre réelle, le corps de la méthode reste vide. Il est important de noter que la déclaration d'une méthode abstraite n'est possible que dans une classe abstraite. Les classes qui ne peuvent pas être initialisées sont appelées classes abstraites. Une classe qui hérite d'une classe abstraite doit implémenter toutes les méthodes déclarées comme abstraites dans la classe abstraite.

Par exemple -

classe abstraite publique exampleAbstractClass

{

public abstract void exampleabstractMethod ();

public virtual void nonAbstractMethod ()

{

Console.WriteLine ("L'implémentation est définie dans la méthode");

}

class normalNonAbstractClass: exampleAbstractClass

{

remplacement public null testpleabstractMethod ()

{

Console.WriteLine ("Redéfinition de la méthode examplepleabstract de la classe exampleAbstractClass");

}

}

Virtual est également un mot clé associé à la modification d'une méthode, d'une propriété, d'un indexeur ou d'une déclaration d'événement. L'utilisation de ce mot clé permet de modifier l'entité déclarée dans une classe dérivée. Dans cet exemple, la classe dérivée a remplacé la méthode virtuelle déclarée dans la classe de base.

classe de base

{

public void virtuel Test ()

{

Console.WriteLine ("Base.Test");

}

}

classe dérivée: Base

{

remplacement public void Test ()

{

Console.WriteLine ("Derived.Test");

}

}

Les méthodes virtuelles sont utilisées pour une implémentation du polymorphisme basé sur un type. La classe dérivée a la possibilité de ré-implémenter la méthode virtuelle de la classe de base en utilisant le mot-clé override. Les logiciels virtuels et abstraits ne peuvent pas être utilisés avec des modificateurs statiques, virtuels ou de substitution.

Comparaison entre méthode virtuelle et méthode abstraite:

Méthode virtuelle

Méthode abstraite

Définition

Les méthodes virtuelles sont utilisées pour une implémentation du polymorphisme basé sur un type.

Les méthodes abstraites sont les méthodes déclarées mais qui n'ont aucune implémentation.

la mise en oeuvre

Oui, peut avoir la mise en œuvre

Non, ne peut avoir aucune implémentation

Besoin d'être remplacé

Pas obligatoire

Obligatoire

Mot-clé utilisé pour le distinguer des autres types de méthodes

Virtuel

Abstrait

Classe

La méthode virtuelle contenant une classe peut être instanciée.

La classe contenant la méthode abstraite ne peut pas être instanciée. Il ne peut être hérité que.

Portée

Portée de la méthode virtuelle aux membres uniquement.

Portée de la méthode abstraite pour les membres et les classes.

Méthode à exécuter (type de classe objet-base)

L'implémentation parent sera appelée uniquement dans le cas où aucune implémentation n'est fournie dans la classe concrète.

Mise en œuvre concrète

Méthode à exécuter (type de classe objet-concret)

Mise en œuvre concrète

Mise en œuvre concrète

Recommandé

Articles Connexes

  • comparaisons populaires: Différence entre parfum et parfum

    Différence entre parfum et parfum

    Différence clé: Le parfum et le parfum peuvent tous deux être utilisés pour renvoyer une odeur agréable généralement obtenue en mélangeant des huiles essentielles parfumées ou des composés aromatiques. Cependant, le mot «parfum» est parfois préféré à «parfum», afin de décrire des parfums plus élégants. Il est très diffici
  • comparaisons populaires: Différence entre société publique et société privée

    Différence entre société publique et société privée

    Différence clé: les sociétés peuvent être différenciées sur la base du pouvoir d’offrir leurs titres au grand public. Une société qui est autorisée à vendre les titres au grand public est appelée une société ouverte ou une société cotée en bourse. En revanche, une société qui ne vend pas ses titres au grand public est qualifiée de société privée. Contrairement aux socié
  • comparaisons populaires: Différence entre déverrouiller et jailbreaker un iPhone

    Différence entre déverrouiller et jailbreaker un iPhone

    Différence clé: le déverrouillage d'un iPhone supprime les restrictions de la carte SIM du téléphone, permettant ainsi l'utilisation de l'iPhone sur n'importe quel opérateur. Le jailbreak est une méthode qui permet à l'utilisateur de dépasser les limitations imposées par Apple et de télécharger des applications, extensions et thèmes supplémentaires qui ne sont pas disponibles via le Apple App Store officiel. Apple a de n
  • comparaisons populaires: Différence entre Sony Xperia Z Ultra et Sony Xperia Z

    Différence entre Sony Xperia Z Ultra et Sony Xperia Z

    Différence clé: le Sony Xperia Z Ultra est un phablet haut de gamme lancé le 3 juillet 2012 et commercialisé comme "le smartphone le plus mince en Full HD au monde". Le Xperia Z est le téléphone phare de Sony. En février 2013, Sony a annoncé le lancement de son téléphone phare, le Sony Xperia Z. Après le
  • comparaisons populaires: Différence entre fumée et fumée

    Différence entre fumée et fumée

    Différence clé: La fumée est la forme gazeuse de fines particules solides et liquides. Cela vient en brûlant des matières organiques comme le bois, le pétrole, etc. Les fumées sont une émission de substances vaporeuse comme de la fumée. La fumée se distingue par son caractère odorant et nocif. Beaucoup
  • comparaisons populaires: Différence entre remise et promotion

    Différence entre remise et promotion

    Différence clé: la promotion des ventes contribue à créer un battage publicitaire pour le produit. C'est quelque chose qui est fait pour sensibiliser les gens à quelque chose et augmenter ses ventes ou sa popularité. Les remises et allocations sont des réductions d'un prix de base de biens ou de services. Pour
  • comparaisons populaires: Différence entre la direction assistée et non directionnelle

    Différence entre la direction assistée et non directionnelle

    Différence clé: La direction assistée est un système qui aide à diriger les roues en utilisant un peu de puissance du moteur. Le système de direction non assistée est un système de direction dans lequel la force manuelle est utilisée pour la direction et aucune source auxiliaire de puissance n’assiste dans la direction du volant. Le systèm
  • comparaisons populaires: Différence entre la respiration aérobie et anaérobie

    Différence entre la respiration aérobie et anaérobie

    Différence clé: La respiration aérobie est le processus de décomposition du glucose en utilisant de l'oxygène. Les cellules utilisent le glucose et l'oxygène pour produire du dioxyde de carbone, de l'eau et de l'énergie. La respiration anaérobie est le processus de décomposition du glucose sans utiliser d'oxygène, mais plutôt de catalyseur. Il produi
  • comparaisons populaires: Différence entre MAPI, POP3 et IMAP4

    Différence entre MAPI, POP3 et IMAP4

    Différence clé: MAPI signifie Messaging Application Programming Interface. POP3 est l'abréviation de Post Office Protocol Third et IMAP4, le protocole d'accès à la messagerie Internet. IMAP4 conserve les messages sur un serveur. Il faut être connecté à ce serveur pour les récupérer. POP3 est

Choix De L'Éditeur

Différence entre maïs et maïs soufflé

Différence clé: le maïs signifie principalement le maïs qui est utilisé chez les Nord-Américains. Le maïs est récolté lorsque les grains sont au maximum de leur tendreté. Les grains de maïs soufflé se différencient par une coquille dure à la partie supérieure très molle avec un centre amylacé. Le maïs, égalem