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
2017-05-31 10:36:49
"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++ ?
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