Przeciążanie i przesłonięcie

Anonim

Przeciążanie vs Przesłanianie

Przeciążanie i nadpisywanie to cechy większości języków programowania. Przeciążenie to funkcja umożliwiająca utworzenie kilku metod o tej samej nazwie, należących do tej samej klasy, ale różniących się między sobą typem danych wejściowych i rodzajem danych wyjściowych funkcji. Przeciążanie metod jest zwykle związane ze statycznymi językami programowania, które wymuszają sprawdzanie typów w wywołaniach funkcji. Najprawdopodobniej są one powiązane z VB,.Net, C ++, D, Java itp. Przesłonięcie jest podstawową umiejętnością używaną do programowania obiektowego i jest wykonywane, gdy użytkownik przedefiniuje metodę, która została już zdefiniowana w istniejącej lub macierzystej klasie. W tej technice programowania skrypty są kodowane w celu wykonywania określonych zadań, pozwalając skryptowi napisanemu w niższej lub podklasie na implementację metody lub zestawu instrukcji, które zostały już określone w dowolnej z klas nadrzędnych lub nadrzędnych.

W programowaniu komputerowym przeciążenie pochodzi od metody mającej więcej niż jedną definicję w tym samym zasięgu i ma tę samą nazwę, ale z innym podpisem. Implementacje metod mają tę samą nazwę, ponieważ wykonują podobne zadania. Przeciążenie jest również identyfikowane z powodu jego rozpoznawania jako przypadku polimorfizmu, w którym niektórzy lub wszyscy operatorzy mogą mieć różne implementacje, które są zależne od ich określonych typów argumentów. Nadpisywanie zależy od obecności funkcji klasy podstawowej dla jej wyglądu. Funkcja nadpisywania, która pozwala klasie podrzędnej na implementację metody, która jest już używana przez jedną z jej klas nadklasowych lub nadrzędnych, pozwala tej klasie podrzędnej na przypisanie tej samej nazwy, listy parametrów i typu zwracanego lub podpisu, który zastąpiona metoda zastosowana w nadklasie ma.

Przeciążanie jest uważane za praktyczne, ponieważ pozwala programistom pisać różne metody, które mają tę samą nazwę. Przeciążenie może mieć pewne konsekwencje dla języka, ponieważ w czasie wykonywania procesor zmienia nazwę wszystkich przeciążonych metod. Jest rozwiązywany podczas kompilacji. Nadpisywanie jest polimorfizmem zaprojektowanym na podstawie niejawnego pierwszego parametru, który jest rozwiązywany w środowisku wykonawczym.

Streszczenie: Termin przeciążenie zwykle kojarzy się ze statycznie zaprogramowanymi językami i nadpisuje popularność w programowaniu obiektowym. Metoda w klasie o tej samej nazwie metody z inną sygnaturą jest oznaczona jako metoda przeciążania. Nadpisywanie znane jako metoda w klasie mającej tę samą nazwę metody i te same argumenty / podpis. Przeciążanie udziałów ma jednakową relację między metodami dostępnymi w tej samej klasie, podczas gdy w override tworzona jest relacja między metodą nadklasy a metodą podklasy. Przeciążenie umożliwia dziedziczenie z nadklasy. W trybie nadrzędnym metoda podklasy zastępuje nadklasę. Przeciążanie musi mieć inną metodę podpisu, podczas gdy nadpisywanie musi przydzielić tę samą sygnaturę.