Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 20706|Répondre: 0

[Source] C# Différence entre classes abstraites et interfaces

[Copié le lien]
Publié sur 21/06/2016 11:34:25 | | |
Classes abstraites et interfaces
    Similarités :
    (1) peut être hérité
    (2) ne peut pas être instancié
    (3) peut contenir des déclarations de méthode
    (4) La classe dérivée doit implémenter la méthode non implémentée
    Catégorie :
    (1) Les classes de base abstraites peuvent définir des champs, des propriétés et des implémentations de méthodes. Les interfaces ne peuvent définir que des attributs, indexeurs, événements et déclarations de méthodes, et ne peuvent pas contenir de champs.
    (2) Une classe abstraite est une classe incomplète qui nécessite un affinement supplémentaire, tandis qu’une interface est une norme comportementale. Les interfaces personnalisées de Microsoft sont toujours accompagnées d’un champ capable de prouver qu’elles sont des expressions du « Je peux le faire... » ”
    (3) Les interfaces peuvent être implémentées plusieurs fois, et les classes abstraites ne peuvent être héritées que par une seule personne
    (4) Les classes abstraites sont plus définies entre une série de classes étroitement liées, tandis que la plupart des interfaces sont des classes vaguement apparentées qui implémentent toutes une certaine fonction
    (5) Les classes abstraites sont des concepts abstraits à partir d’une série d’objets liés, ils reflètent donc la communauté interne des choses ; Une interface est une convention fonctionnelle définie pour satisfaire les appels externes, elle reflète donc les caractéristiques externes des choses
    (6) L’interface n’a essentiellement aucune caractéristique spécifique d’hérédité, elle ne promet que des méthodes pouvant être appelées   
    (7) Les interfaces peuvent être utilisées pour supporter les rappels, mais l’héritage ne possède pas cette fonctionnalité
    (8) Les méthodes spécifiques implémentées par les classes abstraites sont virtuelles par défaut, mais les méthodes d’interface dans la classe qui implémentent l’interface ne sont pas virtuelles par défaut, bien sûr, vous pouvez aussi les déclarer virtuelles
    (9) Si une classe abstraite implémente une interface, la méthode dans l’interface peut être mappée à la classe abstraite comme une méthode abstraite sans avoir à l’implémenter, et la méthode de l’interface peut être implémentée dans une sous-classe de la classe abstraite








Précédent:L’erreur système 5 s’est produite. L’accès est refusé.
Prochain:Le fournisseur « Microsoft.Jet.OleDb.4.0 » n’est pas enregistré sur la machine locale.
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com