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 Puma et Jaguar

    Différence entre Puma et Jaguar

    Différence clé: Puma et Jaguar sont totalement différents en apparence et en fonctionnalités. On peut facilement reconnaître les grands félins. La taille des puma varie en fonction de leur habitat et se trouve principalement près des zones de montagne. Les jaguars sont plus gros et plus épais et se trouvent principalement dans l'hémisphère occidental. Les puma
  • comparaisons populaires: Différence entre NEFT et EFT

    Différence entre NEFT et EFT

    Principale différence: «NEFT» signifie «transfert électronique de fonds national». «NEFT» en Inde est associé à un système de transfert électronique de fonds, dans lequel les transactions sont réglées électroniquement entre les banques et l’installation est disponible à l’échelle nationale. «EFT» signifie «tra
  • comparaisons populaires: Différence entre élève et étudiant

    Différence entre élève et étudiant

    Différence clé: un élève et un élève sont considérés comme synonymes car ils désignent tous deux une personne enseignée par un enseignant. Cependant, l'étudiant est généralement associé à une personne qui suit des études formelles en étant inscrit à une école ou à un collège et l'élève est généralement associé à un jeune étudiant ou à un jeune apprenant. Ils varient assez dans le c
  • comparaisons populaires: Différence entre le lait évaporé et le lait concentré sucré

    Différence entre le lait évaporé et le lait concentré sucré

    Principale différence: le lait évaporé nécessite l'évaporation d'environ 60% de son eau. Le lait concentré sucré est essentiellement du lait évaporé additionné de 40% de sucre. Beaucoup de pâtisseries ou de recettes du désert réclament du lait évaporé ou du lait concentré sucré comme ingrédient principal. Cela pourrait êt
  • comparaisons populaires: Différence entre conférence, foire commerciale, exposition et séminaire

    Différence entre conférence, foire commerciale, exposition et séminaire

    Différence clé: une conférence est un événement organisé à but lucratif ou non pour discuter de la question ou de problèmes urgents. Le salon est un salon où les entreprises présentent leurs nouveaux produits ou examinent les tendances, styles et opportunités du marché. Expo , abréviation d'Exposition, est l'activité qui consiste à diffuser quelque chose à la vue du public. Le séminaire e
  • comparaisons populaires: Différence entre découverte et invention

    Différence entre découverte et invention

    Différence clé: la découverte est l'acte de détecter quelque chose qui préexistait déjà et qui existe depuis longtemps. L’invention utilise des objets, des idées ou des théories préexistantes pour créer un nouvel objet, des idées ou des théories qui n’existent pas encore. Les découvertes et les inventions peuvent sembler similaires à cause de quelque chose de nouveau, mais ce sont deux mots différents et des significations différentes. Discovery découvre
  • comparaisons populaires: Différence entre la direction assistée et la direction assistée électrique

    Différence entre la direction assistée et la direction assistée électrique

    Différence clé: La direction assistée est un système qui aide à diriger les roues en utilisant un réseau auxiliaire de puissance. La direction assistée utilise l'hydraulique ou la pression du fluide afin d'aider les systèmes de direction. La direction assistée électrique est également un système de direction assistée qui utilise un moteur électrique et une unité de contrôle avec certains capteurs. La direction a
  • comparaisons populaires: Différence entre Microsoft Surface Pro et Asus Padfone Infinity

    Différence entre Microsoft Surface Pro et Asus Padfone Infinity

    Principale différence: Microsoft Surface Pro est doté d'un écran ClearType HD de 10, 6 pouces avec une densité de pixels d'environ 208 ppp. L'appareil exécute Microsoft Windows 8, qui utilise le même système d'exploitation que plusieurs ordinateurs portables et ordinateurs de bureau. L'
  • comparaisons populaires: Différence entre virgule et période

    Différence entre virgule et période

    Principale différence: la virgule et le point se distinguent par leurs fonctions. La virgule est utilisée pour connecter les éléments, alors que le point est utilisée pour terminer la phrase. Des catégories du même type peuvent être représentées avec une virgule. La virgule relie divers éléments en une seule instance. La virgule

Choix De L'Éditeur

Différence entre les cartes graphiques DDR5 et GDDR5

Différence de clé: DDR5 et GDDR5 sont utilisés indifféremment pour désigner un type de mémoire de carte graphique DRAM. Il a été conçu pour cette application informatique qui nécessite une bande passante plus importante. La carte graphique est le composant qui s’occupe de la diffusion de l’image sur l’écran ou le moniteur. Il contient une