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

  • différence entre: Différence entre le sucre et la mélasse

    Différence entre le sucre et la mélasse

    Principale différence: le sucre est le nom général des substances alimentaires à saveur sucrée. Le saccharose, le sucre de table, est principalement extrait de la canne à sucre ou de la betterave à sucre. Le sucre est disponible sous de nombreuses formes sur le marché. La mélasse est un sous-produit du processus de production du sucre; que ce soit de la fibre de canne à sucre, des betteraves ou des raisins. Le sucre
  • différence entre: Différence entre la sauce Tamari et la sauce soja

    Différence entre la sauce Tamari et la sauce soja

    Différence clé: La sauce de soja est un condiment et une sauce populaires qui sont considérés comme un aliment de base dans les cuisines d’Asie de l’Est et du Sud-Est. La sauce de soja est faite à partir de soja. Le Tamari est un type de sauce de soja noire originaire du Japon. Il contient peu ou pas de blé, ce qui en fait une alternative sans gluten à la sauce de soja ordinaire. La sauce
  • différence entre: Différence entre échographie et sonogramme

    Différence entre échographie et sonogramme

    Différence clé: dans le langage courant, ultrasons et sonogrammes sont essentiellement synonymes. Il s'agit d'un test médical qui utilise des ondes sonores à haute fréquence pour produire une image des organes dans le corps. Au sens technique strict, les ultrasons désignent la fréquence réelle supérieure à celle que les humains peuvent entendre. En revan
  • différence entre: Différence entre Kebab et Tikka

    Différence entre Kebab et Tikka

    Principale différence: le kebab et le tikka sont des éléments extrêmement populaires dans un menu. Les principales différences entre les deux plats sont basées sur le type de viande, leur style de cuisine et les assaisonnements utilisés lors de la préparation des brochettes et des tikkas. Le terme 'Kebab' a été créé sous l'empire moghol, où les soldats de l'armée royale coupaient des morceaux de viande et les enfilaient au-dessus de leurs épées, puis cuisent la viande à feu ouvert. Kebab est un mo
  • différence entre: Différence entre droit et justice

    Différence entre droit et justice

    Différence clé: les lois sont en réalité des règles et des lignes directrices établies par les institutions sociales pour régir le comportement. Ces lois sont faites par des représentants du gouvernement. Les lois doivent être respectées par tous. Les lois définissent les normes, procédures et principes à respecter. La justice
  • différence entre: Différence entre cerveau, esprit et mental

    Différence entre cerveau, esprit et mental

    Différence clé: le cerveau est le centre de toutes les fonctions. Sans lui, il est impossible de survivre. Le cerveau peut être considéré comme le matériel du corps humain. Maintenant, on pense que l'esprit aide le cerveau. L'esprit est ce qui crée les émotions et permet la conscience, la perception, la pensée, le jugement et la mémoire. Le terme
  • différence entre: Différence entre GIF et TIFF

    Différence entre GIF et TIFF

    Différence clé: GIF signifie Graphics Interchange Format. Le nom de fichier utilisé pour un fichier GIF est .gif ou .GIF. GIF est un format graphique raster, principalement utilisé pour les images graphiques. TIF et TIFF sont des extensions de nom de fichier utilisées pour le format de fichier d'image marquée. Le f
  • différence entre: Différence entre chef de projet et chef de produit

    Différence entre chef de projet et chef de produit

    Différence clé: un chef de projet et un chef de produit sont très similaires. Les deux sont responsables de quelque chose du début à la fin. La principale différence est qu'un chef de projet est entièrement responsable du début à la fin d'un projet, tandis qu'un chef de produit est complètement responsable du début à la fin d'un produit. Chef de pr
  • différence entre: Différence entre entorse et foulure

    Différence entre entorse et foulure

    Différence clé: Entorse et foulure sont deux blessures courantes. Les entorses sont causées par l'étirement ou la déchirure des ligaments, alors que les entorses sont causées par l'étirement et la déchirure des muscles ou des tendons. Ils ont des signes et des symptômes similaires. Beaucoup de gens utilisent l’entorse et la fatigue de manière interchangeable. Cependant,

Choix De L'Éditeur

Différence entre Alcatel One Touch Idol et Micromax A116 Canvas HD

Principale différence: l'Alcatel One Touch Idol est le partenaire mobile officiel du film Iron Man 3. Il est doté d'un écran tactile capacitif LCD 4, 7 pouces IPS avec 16 millions de couleurs. La résolution de l'écran est de 540 x 960 pixels. Le téléphone est alimenté par un MediaTek MTK 6577+ double cœur et 1 GHz et par une mémoire vive de 512 Mo. Le Micro