Czy polimorfizm, przeciążenie i nadrzędność podobnych pojęć? [zamknięte]

Jestem bardzo zdezorientowany pojęciami polimorfizmu, przeciążania i nadpisywania, ponieważ wydaje mi się to samo. Proszę wyjaśnić te pojęcia i czym się różnią od siebie

Bardzo zdezorientowany, więc proszę mnie odpowiednio poprowadzić.

Thanks

Author: Community, 2012-10-15

2 answers

Polimorfizm można osiągnąć poprzez nadpisanie. Mówiąc krótko, polimorfizm odnosi się do zdolności obiektu do dostarczania różnych zachowań (używania różnych implementacji) w zależności od jego własnej natury. W szczególności, w zależności od jego pozycji w hierarchii klasowej.

Nadpisywanie metod jest wtedy, gdy metoda zdefiniowana w superklasie lub interfejsie jest ponownie zdefiniowana przez jedną z podklas, modyfikując/zastępując zachowanie, które zapewnia superklasa. Decyzja wywołanie implementacji lub innej jest wykonywane dynamicznie w trybie runtime, w zależności od obiektu, z którego zostanie wywołana operacja. Zauważ, że podpis metody pozostaje taki sam podczas nadpisywania.

Metoda przeciążenia nie ma związku z polimorfizmem. Odnosi się do definiowania różnych form metody (zwykle poprzez otrzymanie różnych liczb parametrów lub typów). Może być postrzegany jako polimorfizm statyczny. Decyzja o wywołaniu implementacji lub innej jest podejmowana w czasie kodowania. Zawiadomienie w w tym przypadku podpis metody musi ulec zmianie.

Operator overloading jest innym pojęciem, związanym z polimorfizmem, który odnosi się do zdolności pewnego operatora zależnego od języka do zachowania się w różny sposób w zależności od typu jego operandów (na przykład + może oznaczać konkatenację z Strings i dodawanie z operandami liczbowymi).

Przykład w Wikipedii jest dość ilustracyjny.

Następujące pytania mogą być również przydatne:

 57
Author: Xavi López,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:47:01

Wkrótce, Nie, Nie są takie same.

Przeciążenie oznacza tworzenie metod o tej samej nazwie, ale różnych parametrach.

Nadpisywanie oznacza ponowne zdefiniowanie ciała metody klasy nadrzędnej w podklasie w celu zmiany zachowania metody.

Polimorfizm jest szerokim pojęciem, które obejmuje nadmiarowość i przeciążenie i wiele więcej w swoim zakresie. Opis polimorfizmu w Wikipedii może pomóc ci lepiej zrozumieć polimorfizm. Szczególnie polimorfizm podtypu (lub polimorfizm inkluzji) sekcja jest tam, gdzie powinieneś szukać.

 4
Author: basar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-10-15 10:58:38