Co to jest przeciążanie metod w Pythonie i jak to działa?



W tym artykule wyjaśniono, czym jest przeciążanie metod w Pythonie i jak to działa. Istnieją dwa różne przykłady dokładnego wyjaśnienia tej metody.

Dwie metody nie mogą mieć tej samej nazwy w programie . Przeciążanie metod w Pythonie to funkcja, która pozwala temu samemu operatorowi mieć różne znaczenia. W tym artykule przyjrzymy się funkcji przeciążania metod w języku Python i sposobowi jej wykorzystaniaprzeciążenie metod w następującej kolejności:

Co to jest przeciążenie?

Przeciążenie to zdolność funkcji lub operatora do zachowania się na różne sposoby na podstawie parametrów przekazanych do lub operandy, na których działa operator.





Niektóre Zalety korzystania z przeciążenia to:

  • Przeciążenie metody sprzyja możliwości ponownego wykorzystania. Na przykład, zamiast pisać wiele metod, które różnią się tylko nieznacznie, możemy napisać jedną metodę i ją przeciążać.



  • Przeciążanie poprawia również przejrzystość kodu i eliminuje złożoność.

Przeciążanie to bardzo przydatna koncepcja. Jednak ma kilka plików niedogodności powiązany z tym.

  • Przeciążenie może spowodować zamieszanie, gdy zostanie użyte w poprzek Granic. Przy nadmiernym używaniu zarządzanie przeciążonymi funkcjami staje się uciążliwe.



Przeciążanie metod w Pythonie

W Pythonie możesz stworzyć metodę, którą można wywołać na różne sposoby. Więc możesz mieć metodę, która ma zero, jeden lub więcej parametrów. W zależności od definicji metody możemy ją wywołać z zerem, jednym lub więcej argumentami.

Mając jedną metodę lub funkcję, możesz określić liczbę parametrów. Ten proces wywoływania tej samej metody na różne sposoby jest nazywany przeciążaniem metody.

Przykłady przeciążania metod

Teraz, kiedy już wiesz, czym jest przeciążanie metod w Pythonie, weźmy przykład. Tutaj tworzymy klasę z jednym Cześć() . Pierwszy parametr tej metody jest ustawiony na None. To da nam możliwość wywołania go z parametrem lub bez niego.

Na podstawie klasy tworzony jest również obiekt, którego metodę wywołujemy używając zera i jednego parametru.

Przykład 1:

#! / usr / bin / env python class Person: def Hello (self, name = None): jeśli name is not None: print ('Hello' + name) else: print ('Hello') # Create instance obj = Person () # Wywołaj metodę obj.Hello () # Wywołaj metodę z parametrem obj.Hello ('Edureka')

Wynik:

rodzaj transformacji w informatyce
Witam Cześć Edureka

Aby wyjaśnić przeciążenie metod, możemy teraz wywołać metodę Hello () na dwa sposoby:

obj.Hello () obj.Hello ('Edureka')

W powyższym przykładzie stworzyliśmy metodę, którą można wywołać z mniejszą liczbą argumentów, niż jest to zdefiniowane. Ponadto nie ogranicza się do dwóch zmienne a twoja metoda może mieć więcej zmiennych, które są opcjonalne.

A teraz zajmijmy się innym przykład aby zrozumieć przeciążenie metod w .

Przykład 2:

W poniższym przykładzie przeładujemy metodę area. Jeśli nie ma argumentu, zwraca 0. A jeśli mamy jeden argument, zwraca kwadrat wartości i zakłada, że ​​obliczasz pole kwadratu. Ponadto, jeśli mamy dwa argumenty, zwraca iloczyn tych dwóch wartości i zakłada, że ​​obliczasz pole prostokąta.

# class class Oblicz: # area metoda def area (self, x = None, y = None): if x! = None i y! = None: return x * y elif x! = None: return x * x else: return 0 # object obj = Compute () # zero argument print ('Area Value:', obj.area ()) # one argument print ('Area Value:', obj.area (4)) # two argument print ('Area Wartość: ', obj.area (3, 5))

Powyższy kod da nam co następuje wynik:

Wartość powierzchni: 0 Wartość powierzchni: 16 Wartość powierzchni: 15

W ten sposób dotarliśmy do końca naszego artykułu. Mam nadzieję, że rozumiesz, czym jest przeciążanie metod w Pythonie i jak to działa.

Aby uzyskać dogłębną wiedzę na temat języka Python i jego różnych aplikacji, możesz zarejestrować się na żywo by Edureka z całodobowym wsparciem i dożywotnim dostępem.

Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy tego bloga „Method Overloading in Python”, a my skontaktujemy się z Tobą tak szybko, jak to możliwe.