c# - "Une classe peut hériter directement de plusieurs interfaces, mais ne peut hériter directement que d'une seule classe (y compris les classes abstraites)." N'est-ce pas incompatible avec l'héritage multiple du C++ ?
ringa_lee
ringa_lee 2017-05-31 10:36:49
0
2
2256

"Une classe peut hériter directement de plusieurs interfaces, mais ne peut hériter directement d'une seule classe (y compris les classes abstraites)." N'est-ce pas incompatible avec l'héritage multiple en C++ ?

ringa_lee
ringa_lee

ringa_lee

répondre à tous(2)
某草草

Il devrait être qu'une classe hérite intelligemment d'une classe (y compris les classes abstraites), mais peut implémenter plusieurs interfaces
L'héritage est un héritage direct, et les interfaces sont certaines spécifications, je suis certaines spécifications
Je pense qu'il vaut mieux comprendre de cette façon

.

c++ est à l'origine un système Simulaire, donc je n'en parlerai pas
L'héritage multiple ne veut pas dire grand chose

黄舟

L'héritage multiple du C++ est véritablement un héritage multiple, plus puissant, mais aussi moins simple à utiliser. Par conséquent, les langages tels que Java ne permettent tout simplement pas l'héritage de plusieurs classes de base. Ils ne peuvent hériter que d'une seule classe de base et implémenter plusieurs interfaces. Je ne peux pas dire laquelle de ces deux méthodes est la meilleure, mais elles ont chacune leurs propres mérites. Je me souviens qu'il était dit dans "CLR via C#" que pour éviter les héritages multiples, C# ne pouvait hériter que d'une seule classe, ce qui entraînait de nombreux pièges. Quoi qu'il en soit, si vous n'êtes pas un expert en langues, il existe généralement une solution de compromis, et nous pouvons l'utiliser

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal