Klasa super Javascript

| | | |

Metoda super() Pythona umożliwia dostęp do metod klasy nadrzędnej wewnątrz klasy podrzędnej. Pomaga to zmniejszyć liczbę powtórzeń w kodzie. super() nie przyjmuje żadnych argumentów. Jedną z głównych cech języków programowania zorientowanych obiektowo, podobnych do Pythona, jest dziedziczenie. Dziedziczenie występuje, gdy nowa klasa używa kodu z innej klasy do tworzenia nowej klasy.

Gdy dziedziczysz klasy, możesz mieć dostęp do metod z klasy nadrzędnej. Tu właśnie pojawia się funkcja super().

Ten samouczek omówi podstawy dziedziczenia w Pythonie z przykładami. Następnie porozmawiamy o tym, jak używać funkcji super() dla wartości „Ęã” oraz metod do dziedziczenia z klasy nadrzędnej.

Co to jest Super Python?

Metoda super - Python () umożliwia dostęp do metod w klasie nadrzędnej. Możesz myśleć o super() jako sposobie wyświetlania metod w klasie, z której dziedziczona jest inna klasa

Oto składnia metody super().

Metoda super() nie przyjmuje argumentów. Określasz metodę, którą chcesz odziedziczyć po metodzie super(). Poprzednia klasa Pythona dziedziczy wartości ‚ã‚Ęã z metody __init __() klasy food. Wywołujemy metodę klasy super() do wartości ‚Ęã‚Ęãinherit z klasy food.

Dziedziczenie Pythona odnosi się do procesu, w którym nowa klasa używa kodu z istniejącej klasy do zdefiniowania struktury nowej klasy

Jednym ze sposobów myślenia o dziedziczeniu jest przyjrzenie się, jak dzieci dziedziczą cechy swoich dzieci. rodziców. Dziecko może mieć taki sam kolor włosów jak jego rodzice, a nawet dziedziczyć nazwisko po rodzicach.

W Pythonie istnieją dwa typy klas:.

  • Klasy dla dzieci (lub „Podklasy”) Dziedziczą metody i zmienne. Klasy potomne są czasami nazywane klasami siostrzanymi
  • Klasy główne (lub „klasy bazowe”) to klasy, których wartości „Ęã‚Ęãmogą być dziedziczone

super() Python:.Dziedzicz po __init __()

Załóżmy, że tworzymy system kont bankowych, który utrzymuje śledzenie poświadczeń osób posiadających konto w banku, chcemy stworzyć klasę przechowującą dane do weryfikacji konta Możemy to zrobić za pomocą tego kodu:.

Ten kod tworzy projekt konta bieżącego.

Załóżmy teraz, że chcemy utworzyć klasę, która przechowuje projekt dla kont bankowych dzieci, które będziemy wywołaj ChildAccount. Klasa powinna być oparta na zdefiniowanej wcześniej klasie CheckingAccount. e można użyć funkcji super ().

super () umożliwia dostęp do metod klasy nadrzędnej w klasie potomnej.

W naszym przykładzie nasza klasa nadrzędna nazywa się CheckingAccount, a nasza klasa potomna nazywa się ChildAccount. CheckingAccount tworzy projekt dla konta bankowego, a ChildAccount dziedziczy wartości ‚Ęã‚Ęãz CheckingAccount, aby utworzyć własną klasę.

Załóżmy teraz, że chcemy, aby klasa ChildAccount dziedziczyła wartości przechowywane na naszym CheckingAccount. Ale chcemy również, aby to konto przechowywało nową wartość o nazwie is_child, która domyślnie powinna mieć wartość True.

Możemy utworzyć naszą nową klasę ChildAccount za pomocą ten kod:

Ten kod tworzy projekt dla naszej nowej klasy ChildAccount. Używamy metody super(), aby dziedziczyć nazwę i wartości klasy CheckingAccount Saldo. Określamy CheckingAccount klasę nadrzędną w nawiasach w pierwszym wierszu naszej klasy.

Pokazuje to, że super () umożliwia dziedziczenie wszystkich wartości ‚ …z innej klasy. Ale w naszym kodzie zadeklarowaliśmy również nową wartość o nazwie is_child. Ta wartość nie będzie dostępna dla żadnego konta ChildAccount, ponieważ została zadeklarowana w klasie ChildAccount

aby stworzyć instancję naszej klasy dla posiadacza konta dziecka, możemy użyć tego kodu:

Nasz kod zwraca:

Zadeklarowaliśmy instancję klasy ChildAccount przypisaną do zmiennych Pythona lynn. lynn jest obiektem klasy, ponieważ zadeklarowaliśmy wartość lynn za pomocą obiektu.

Konto Lynn ma 200 USD, a wartość is_child jest domyślnie prawdziwe. Następnie wydrukowaliśmy wartości name, balance, is_child — związany z ciotką Lynn z acc. Wypisujemy te wartości do konsoli przy użyciu metody print() Pythona .

Dlaczego odziedziczyliśmy name i balance z klasy CheckingAccount, mogliśmy ich użyć w naszym kodzie. Jednak konto Lynn ma również zestaw wartości „Ęã‚Ęãdla is_child, który jest domyślnie ustawiony na True dla wszystkich wystąpień konta ChildAccount.

super () Python: dziedzicz Metody

super () umożliwia klasom dziedziczenie przy użyciu dziedziczenia jednopoziomowego - klasy dziedziczącej po klasie nadrzędnej. Możesz też użyć super() z dziedziczeniem wielopoziomowym . W tym przykładzie skupimy się na dziedziczeniu jednopoziomowym za pomocą super ().

W poprzednim przykładzie użyliśmy super () do dziedziczenia wartości są przechowywane w klasie CheckingAccount i udostępniają je klasie ChildAccount. Ale co, gdybyśmy chcieli dziedziczyć po metodzie i modyfikować jej odpowiedź?

Każda klasa z powrotem do naszego Konta Kontrolnego idź od początku:

In w tej klasie zdefiniowaliśmy projekt dla wartości, które klasa powinna przechowywać - nazwa i saldo. Zdefiniowaliśmy metodę o nazwie Checkbalance (), która pozwala użytkownikowi sprawdzić saldo

Załóżmy teraz, że chcemy udostępnić Checkbalance () nasze ChildAccount. Chcemy również wydrukować komunikat „Masz konto dziecka!” Pojawia się on, zanim saldo użytkownika zostanie wydrukowane w konsoli.

Możemy uzyskać dostęp do naszych dziedziczonych metod w następujący sposób:

Zadeklarowaliśmy nową wersję metody Checkbalance () ChildAccount. Ta pierwsza wersja wyświetla „Masz konto podrzędne!” do konsoli, więc nasz kod super () używa Checkbalance () klasy matki .

W tym przypadku, gdy super (). Wykonywane jest Checkbalance (), wykonywana jest funkcja Checkbalance () klasy CheckingAccount. Który wyświetla saldo użytkownika na konsoli

Teraz spróbujemy uzyskać dostęp do naszej metody Checkbalance () w imieniu Lynn.

Nasz kod zwraca:

Kiedy wywołujemy metodę lynn.checkBalance (), kod w naszej metodzie ChildAccount.checkBalance () to wyścig , super obiekt wykonuje kod w metodzie CheckingAccount.checkBalance ().

Funkcja super () pozwala nam używać metod nadrzędnych, podczas gdy wciąż będąc w stanie nadpisać te metody w naszych klasach potomnych.

Wnioski

Funkcja super() w Pythonie pozwala dziedziczyć metody z klasy nadrzędnej. Funkcja super () pomaga pisać bardziej czytelny kod, ponieważ możesz ponownie wykorzystać kod z istniejących funkcji.

W tym samouczku omówiono, z przykładami, jak używać funkcji super () . dziedzicz wartości „Ęã” i metody z klasy nadrzędnej. Masz teraz wiedzę, dzięki której możesz zacząć używać funkcji super() jak profesjonalista w Pythonie!

Aby uzyskać więcej informacji na temat programowania w Pythonie, przeczytaj nasze Przewodnik po Pythonie .

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method