Защо множественото наследяване се поддържа в C++, но не и в Java?
Защо множественото наследяване се поддържа в C++, но не и в Java?

Видео: Защо множественото наследяване се поддържа в C++, но не и в Java?

Видео: Защо множественото наследяване се поддържа в C++, но не и в Java?
Видео: Embarcadero Delphi Обзор преимуществ / Установка / Удаление / Community Edition IDE / 2022 Бесплатно 2024, Може
Anonim

C++ , обикновен лисп и няколко други езика поддържа множествено наследяване докато java не прави поддържа то. Java не позволява множествено наследяване за да се избегне неяснотата, причинена от него. Един от примерите за такъв проблем е проблемът с диамантите, който възниква в множествено наследяване.

Съответно защо множественото наследяване не се поддържа в Java?

Java поддържа множествено наследяване само през интерфейси. Един клас може да реализира произволен брой интерфейси, но може да разшири само един клас. Множествено наследяване е не поддържа, защото води до смъртоносен проблем с диамантите. Вие не получават никаква функционалност от интерфейса.

Също така, какъв е проблемът с диамантите при множествено наследяване? „ проблем с диамантите ” е неяснота, която може да възникне в резултат на допускане множествено наследяване . Това е сериозно проблем за езици (като C++), които позволяват множествено наследяване на държавата. В Java обаче, множествено наследяване не е разрешен за класове, само за интерфейси и те не съдържат състояние.

По същия начин хората питат защо C++ поддържа множествено наследяване, а C# не?

Множествено наследяване в C# C# не поддържа множествено наследяване , защото те мотивираха това добавяне множествено наследяване добави твърде много сложност към ° С# като същевременно предоставя твърде малка полза. В ° С# , на класовете е разрешено само да наследи от единичен родителски клас, който се нарича единичен наследство.

Как C++ поддържа множествено наследяване?

За разлика от много други обектно-ориентирани езици за програмиране, C++ позволява множествено наследяване . Множествено наследяване позволява на детски клас да наследи от повече от един родителски клас. Класове животни и влечуги наследи от него. Само класът Animal отменя метода breathe().