Les classes virtuelles C ++ sont équivalentes aux classes abstraites en Java. La différence entre les interfaces est:
1. Une sous-classe ne peut hériter qu'une seule classe abstraite (classe virtuelle), mais peut implémenter plusieurs interfaces
2. Une classe abstraite peut avoir une méthode de constructeur, mais une interface n'a pas de méthode de constructeur.
3. Les méthodes d'une classe abstraite ne sont pas nécessairement des méthodes abstraites, c'est-à-dire que les méthodes peuvent avoir des implémentations (avec des corps de méthode). Les méthodes de l'interface sont des méthodes abstraites, et il ne peut pas y avoir de corps de méthode, seulement des déclarations
4. Une classe abstraite peut être publique, privée, protégée et par défaut, et l'interface n'a que publique
5. Les méthodes d'une classe abstraite peuvent être publiques, privées, protégées et par défaut. Les méthodes de l'interface ne peuvent être que publiques et par défaut.
Il en va de même: ni l'un ni l'autre ne peut être instancié.
Remarque supplémentaire: les interfaces sont un type spécial de classe abstraite, une classe plus abstraite, que vous pouvez comprendre de cette manière. Une classe abstraite est une classe incomplète et l'interface définit uniquement certaines fonctions. Par exemple, utilisez des classes abstraites et des interfaces pour décrire les "chiens". Les classes abstraites ajoutent un abstrict avant les classes générales et disent: "Les porcs peuvent fonctionner avec des membres, les porcs peuvent fonctionner comme celle-ci ou cela ...", et l'interface peut seulement dire: "Les porcs peuvent fonctionner, et ce qu'ils utilisent pour fonctionner est une sous-classe."
L'article ci-dessus discute brièvement des similitudes et des différences entre les interfaces Java et les classes virtuelles C ++. C'est tout le contenu que je partage avec vous. J'espère que vous pourrez vous faire référence et j'espère que vous pourrez soutenir Wulin.com plus.