Różnica między przeciążeniem a zastąpieniem

Przeciążenie a zastąpienie

Przeciążenie i zastąpienie są cechami większości języków programowania. Przeciążenie to funkcja, która pozwala na tworzenie kilku metod o tej samej nazwie, w tej samej klasie, ale różniących się między sobą rodzajem danych wejściowych i rodzajem danych wyjściowych funkcji. Przeciążenie metody jest zwykle związane ze statycznymi językami programowania, które wymuszają sprawdzanie typu w wywołaniach funkcji. Są one najprawdopodobniej powiązane z VB, .Net, C ++, D, Java itp. Nadpisywanie jest podstawową umiejętnością używaną do programowania obiektowego i jest wykonywane, gdy użytkownik redefiniuje metodę, która została już zdefiniowana w istniejącej lub nadrzędnej klasie. W tej technice programowania skrypty są kodowane w celu wykonywania określonych zadań, umożliwiając skryptowi napisanemu w niższej lub podklasie zaimplementowanie metody lub zestawu instrukcji, które zostały już określone w dowolnej klasie nadrzędnej lub wyższej.

W programowaniu komputerowym przeciążenie powstało z metody mającej więcej niż jedną definicję w tym samym zakresie i mają tę samą nazwę, ale z inną sygnaturą. Implementacje metod mają tę samą nazwę, ponieważ będą wykonywać podobne zadania. Przeciążenie jest również identyfikowane ze względu na jego rozpoznanie jako przypadek polimorfizmu, w którym niektórzy lub wszyscy operatorzy mogą mieć różne implementacje, które zależą od ich określonych typów argumentów. Przesłanianie zależy od obecności funkcji klasy bazowej dla jej wyglądu. Funkcja językowa Przesłanianie, która pozwala klasie podrzędnej na implementację metody, która jest już używana przez jedną z jej nadklas lub klas nadrzędnych, pozwala metodzie podklasy przypisać tę samą nazwę, listę parametrów oraz typ zwracany lub podpis, który zastąpiła metoda zastosowana w nadklasie ma.

Przeładowanie jest uważane za praktyczne, ponieważ pozwala programistom napisać wiele różnych metod o tej samej nazwie. Przeładowanie może mieć pewne konsekwencje dla języka, ponieważ w czasie wykonywania procesor zmienia nazwę wszystkich przeciążonych metod. Jest rozwiązany w czasie kompilacji. Przesłanianie jest polimorfizmem zaprojektowanym na podstawie niejawnego pierwszego parametru, który jest rozwiązywany w czasie wykonywania.

Streszczenie:
Termin przeciążenie jest zwykle kojarzony z językami programowanymi statycznie, a nadpisywanie zyskało popularność w programowaniu obiektowym.
Metoda w klasie o tej samej nazwie z inną sygnaturą jest oznaczana jako metoda przeciążenia. Przesłanianie znane jako metoda w klasie mającej tę samą nazwę metody i te same argumenty / podpis.
Przeciążenie dzieli jednolity związek między metodami dostępnymi w tej samej klasie, podczas gdy w przypadku nadpisywania tworzony jest związek między metodą nadklasy a metodą podklasy.
Przeładowanie pozwala na dziedziczenie po nadklasie.
W zastępowaniu metoda podklasy zastępuje nadklasę.
Przeciążenie musi mieć inną sygnaturę metody, podczas gdy nadpisywanie musi przydzielić ten sam podpis.