Wielokrotne dziedziczenie

Autor: Randy Alexander
Data Utworzenia: 23 Kwiecień 2021
Data Aktualizacji: 15 Móc 2024
Anonim
Multiple Inheritance in C++ with Ambiguity & Resolution | C++ programming for Beginners
Wideo: Multiple Inheritance in C++ with Ambiguity & Resolution | C++ programming for Beginners

Zawartość

Definicja - Co oznacza wielokrotne dziedziczenie?

Wielokrotne dziedziczenie to funkcja niektórych obiektowych języków programowania, w których klasa lub obiekt dziedziczy cechy i właściwości z więcej niż jednej klasy lub obiektu nadrzędnego. Jest to sprzeczne z właściwością single dziedziczenia, która umożliwia obiektowi lub klasie dziedziczenie z jednego określonego obiektu lub klasy. Chociaż istnieją pewne korzyści związane z wielokrotnym dziedziczeniem, zwiększa ono niejednoznaczność i złożoność, gdy nie są odpowiednio zaprojektowane lub wdrożone.


Wprowadzenie do Microsoft Azure i Microsoft Cloud | W tym przewodniku dowiesz się, na czym polega przetwarzanie w chmurze i jak Microsoft Azure może pomóc w migracji i prowadzeniu firmy z chmury.

Techopedia wyjaśnia wielokrotne dziedziczenie

W przeciwieństwie do pojedynczego dziedziczenia, wielokrotne dziedziczenie ma symetryczne scalanie i asymetryczne rozszerzanie z perspektywy dziedziczenia. Gdy cechy jednego zestawu nie zależą od właściwości drugiego zestawu, wielokrotne dziedziczenie może być bardziej korzystne. Innymi słowy, wielokrotne dziedziczenie jest bardziej przydatne, gdy możliwe jest rozdzielenie cech obiektów na zbiory ortogonalne. Wielokrotne dziedziczenie jest przydatne w przypadku wzorca adaptera. Umożliwia dostosowanie jednego interfejsu przez inny. Kolejna korzyść wynikająca z wielokrotnego dziedziczenia jest związana ze wzorem obserwatora. W tym schemacie wywołania mogą przechowywać listę funkcji / obserwatorów, które mogą być powiadamiane przez jakąś zmianę przez wywołanie jednej z funkcji. Przykłady języków programowania obsługujących wielokrotne dziedziczenie to C ++, Python, Perl, Eiffel, Dylan, Curl, Eulisp i Tcl. Java jest jednym z najważniejszych języków programowania, który nie obsługuje wielokrotnego dziedziczenia.


Istnieją jednak pewne wady związane z wielokrotnym dziedziczeniem. Ta funkcja komplikuje wysyłkę metody, a także zapewnia dodatkową kontrolę aplikacji. Wielokrotne dziedziczenie wymagałoby świadomości zależności, szczególnie związanych z wyborem metod. Ponadto protokoły wykorzystujące wielokrotne dziedziczenie wymagałyby więcej dokumentacji niż protokoły korzystające z pojedynczego dziedziczenia.