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 lunettes de soleil et aviateurs

    Différence entre lunettes de soleil et aviateurs

    Différence essentielle: les lunettes de soleil désignent des lunettes qui empêchent les rayons nocifs du soleil d'atteindre directement les yeux et qui protègent également les yeux de la lumière. Les aviateurs sont des types spécifiques de lunettes de soleil à l’origine sous la marque Ray Ban. Les avia
  • comparaisons populaires: Différence entre iPad et tablette

    Différence entre iPad et tablette

    Principale différence: les tablettes ressemblent à un mini-ordinateur. Ils sont capables d'exécuter la plupart des tâches pour lesquelles on utilise un ordinateur portable. Comme un iPad est une tablette, ou plutôt un type particulier de tablette. L'iPad est essentiellement une table conçue et commercialisée par Apple Inc., l
  • comparaisons populaires: Différence entre blagues et devinettes

    Différence entre blagues et devinettes

    Différence clé: les blagues sont quelque chose qui est parlé, écrit ou fait avec l'intention d'être drôle. Ces histoires se terminent par la ligne de frappe qui est censée être la partie amusante. Les énigmes sont des histoires, des poèmes ou des questions et réponses dans le but de fournir un casse-tête au spectateur. Les blague
  • comparaisons populaires: Différence entre fleur et bourgeon

    Différence entre fleur et bourgeon

    Différence clé: La fleur fait référence à une partie de la plante qui contient les organes reproducteurs. Il est souvent entouré de pétales et de sépales colorés. Le bourgeon fait référence au stade élémentaire d'une feuille et d'une fleur. Il se présente sous la forme d'une petite protubérance auxiliaire ou terminale (tige) sur une plante. Une fleur est
  • comparaisons populaires: Différence entre la nausée et la faim

    Différence entre la nausée et la faim

    Différence clé: La nausée est une sensation de malaise physique, généralement accompagnée du désir de vomir. D'autre part, la faim est un besoin ou un désir impérieux de nourriture. Wikipedia définit la nausée comme "une sensation de malaise et de gêne dans le haut de l'estomac accompagnée d'une envie involontaire de vomir". Le mot naus
  • comparaisons populaires: Différence entre la sémantique et la pragmatique

    Différence entre la sémantique et la pragmatique

    Différence clé: la sémantique et la pragmatique sont des branches de la linguistique. La sémantique traite de l'étude du sens d'un mot sans contexte. En revanche, la pragmatique comprend le sens de la langue mais tient compte du contexte. Le mot Sémantique est dérivé du mot grec semantikos qui signifie montrer ou donner des signes. La sém
  • comparaisons populaires: Différence entre la lettre d'offre et la lettre de confirmation

    Différence entre la lettre d'offre et la lettre de confirmation

    Différence clé: une lettre d'offre et une lettre de confirmation, les deux étant des documents importants dans le processus de recrutement. Si le candidat est jugé approprié pour l'entreprise, une lettre d'offre lui est fournie. Il mentionne les détails tels que le poste et le salaire offerts par l'entreprise. D
  • comparaisons populaires: Différence entre dictature et fascisme

    Différence entre dictature et fascisme

    Différence clé: une dictature est une forme de gouvernement dans laquelle un dictateur a un pouvoir complet. Le fascisme peut être défini comme vivant sous la dictature, vivant selon les idées de quelqu'un d'autre sans avoir sa propre liberté et ses droits limités. On peut dire que la dictature et le fascisme sont les deux faces d’une même pièce, mais il existe une différence considérable entre les deux idéologies. La définitio
  • comparaisons populaires: Différence entre Aun et Todavía

    Différence entre Aun et Todavía

    Différence clé: en espagnol, aun et todavía sont généralement utilisés comme adverbes. Aun existe sous deux formes: l'une avec 'tilde' (AÚN) et l'autre sans 'tilde' (AUN). Aún est similaire à Todavía, qui signifie même, encore ou encore. Par conséquent, les deux adverbes peuvent être placés indifféremment avant ou après un verbe. Cependant, aun

Choix De L'Éditeur

Différence entre Nokia Lumia 820 et Asus FonePad

Principale différence: l' un des premiers smartphones de la marque est le Nokia Lumia 820. Le Nokia Lumia 820 a été le premier des premiers téléphones à être développé sous Windows Phone 8. Il a été lancé en novembre 2012 en tant qu'alternative légèrement moins chère à la Nokia 920. Asus a annoncé