Super Javascript-klasse

| | | |

Met de methode Python super () hebt u toegang tot de methoden van een bovenliggende klasse binnen een onderliggende klasse. Dit helpt herhaling in de code te verminderen. super () accepteert geen argumenten. Een van de belangrijkste kenmerken van objectgeoriënteerde programmeertalen, zoals Python, is overerving. Overerving vindt plaats wanneer een nieuwe klasse code van een andere klasse gebruikt om de nieuwe klasse te maken.

Als je klassen erft, heb je toegang tot methoden van een bovenliggende klasse. Dit is waar de functie super () van pas komt.

Deze tutorial zal de basisprincipes van overerving in Python bespreken met voorbeelden. Vervolgens zullen we het hebben over het gebruik van de functie super () voor waarden en methoden om te erven van een bovenliggende klasse.

Wat is Super Python?

Met de methode super - Python () heb je toegang tot methoden in een bovenliggende klasse. Je kunt super () zien als een manier om methoden weer te geven in de klasse waarvan een andere klasse is geërfd

Hier is de syntaxis voor de super () methode.

De super () methode accepteert geen argumenten. U specificeert de methode die u wilt erven na de super () methode. De vorige Python-klasse erft waarden ‚Äã‚Äã van de __init __ () methode van de food-klasse. We noemen de super () class-methode naar de waarden ‚Äã‚Äãinherit from the food class.

Python-overerving verwijst naar een proces waarbij een nieuwe klasse gebruikt code van een bestaande klasse om de structuur van de nieuwe klasse te definiëren

Een manier om over erfelijkheid na te denken, is door te kijken naar hoe kinderen kenmerken van hun kinderen erven: ouders. Een kind kan dezelfde haarkleur hebben als zijn ouders en zelfs de achternaam van zijn ouders erven.

In Python zijn er twee soorten klassen:.

  • Klassen voor kinderen (of "Subklassen") Erven methoden en variabelen. Onderliggende klassen worden soms zusterklassen genoemd
  • Hoofdklassen (of "basisklassen") zijn klassen waarvan de waarden ‚Äã‚Äãkunnen worden overgenomen

super () Python:. Erven van __init __ ()

Stel dat we een bankrekeningsysteem creëren dat om de inloggegevens van mensen met een rekening bij een bank te volgen, willen we een klasse maken die de gegevens opslaat voor accountverificatie. We zouden het kunnen doen met deze code:.

Deze code maakt een lopende rekeningproject.

Stel nu dat we een klas willen maken die het project opslaat voor bankrekeningen van kinderen, die we zullen bel ChildAccount. de klasse moet gebaseerd zijn op de CheckingAccount klasse die we eerder hebben gedefinieerd. Om dit te doen w e kan de functie super () gebruiken.

super () geeft je toegang tot de methoden van een bovenliggende klasse binnen een onderliggende klasse.

In ons voorbeeld, onze bovenliggende klasse, heet deze CheckingAccount en onze onderliggende klasse heet ChildAccount. CheckingAccount creëert het project voor een bankrekening en ChildAccount neemt de waarden ‚Äã‚Äãvan CheckingAccount over om zijn eigen klasse te creëren.

Stel nu dat we willen dat de klasse ChildAccount de waarden erft die zijn opgeslagen in ons CheckingAccount. Maar we willen ook dat dit account een nieuwe waarde opslaat met de naam is_child, die standaard True zou moeten zijn.

We zouden onze nieuwe klasse ChildAccount kunnen maken met deze code:

Deze code creëert een project voor onze nieuwe ChildAccount klasse. We gebruiken de methode super () om de naam en waarden ‚Äã‚Äãvan de klasse Balance CheckingAccount over te nemen. We specificeren CheckingAccount de bovenliggende klasse tussen haakjes in de eerste regel van onze klasse.

Dit laat zien dat super () je in staat stelt om alle waarden over te nemen ‚ uit een andere klas. Maar in onze code hebben we ook een nieuwe waarde gedeclareerd met de naam is_child. Deze waarde is niet toegankelijk voor ChildAccount omdat deze is gedeclareerd in de klasse ChildAccount

om een instantie van onze klas te maken voor een houder van een kinderaccount, kunnen we deze code gebruiken:

Onze code geeft als resultaat:

We hebben een instantie van de klasse ChildAccount gedeclareerd die is toegewezen aan de Python-variabelen lynn. lynn is een klasseobject omdat we de waarde van lynn met een object hebben aangegeven.

Lynns account heeft $ 200 en de waarde van is_child em> is standaard true. Vervolgens hebben we de waarden voor name, saldo en is_child afgedrukt ‚Äã‚Äã verbonden met Lynn tante van acc . We printen deze waarden ‚Äã‚Äãnaar de console met behulp van de print () Python -methode.

Waarom we hebben geërfd naam en saldo van de klasse CheckingAccount, we konden ze gebruiken in onze code. Het account van Lynn heeft echter ook een reeks waarden ‚Äã‚Äãfor is_child, die standaard is ingesteld op True voor alle instanties van ChildAccount.

super () Python: erven Methoden

super () laat klassen overerven met behulp van overerving op één niveau - een klasse die overerft van een bovenliggende klasse. Of u kunt super () gebruiken met overerving op meerdere niveaus. Voor dit voorbeeld zullen we ons concentreren op overerving op één niveau met super ().

In ons vorige voorbeeld gebruikten we super () om de waarden ‚Äã‚Äãopgeslagen in de klasse CheckingAccount en beschikbaar stellen aan de klasse ChildAccount. Maar wat als we willen erven van een methode en het antwoord willen wijzigen

Beide klassen terug naar onze CheckingAccount gaan vanaf het begin:

In deze klasse hebben we het ontwerp gedefinieerd voor de waarden die de klasse moet opslaan - name en balance. We hebben een methode gedefinieerd met de naam Checkbalance () waarmee een gebruiker zijn saldo kan controleren

Stel nu dat we Checkbalance () toegankelijk willen maken voor onze ChildAccount. We willen ook een bericht afdrukken met de tekst "U heeft een kinderaccount!" Het verschijnt voordat het saldo van de gebruiker naar de console wordt afgedrukt.

We hebben als volgt toegang tot onze overgenomen methoden:

We hebben een nieuwe versie van de Checkbalance () methode ChildAccount klasse gedeclareerd. Deze eerste versie wordt weergegeven "Je hebt een kinderaccount!" naar de console, dus onze super ()-code gebruikt voor de Checkbalance () van de moederklas .

In dit geval, wanneer super (). Checkbalance () wordt uitgevoerd, de functie Checkbalance () van de klasse CheckingAccount wordt uitgevoerd. Die het saldo van de gebruiker op de console weergeeft

Nu proberen we namens Lynn toegang te krijgen tot onze Checkbalance ()-methode.

Onze code geeft als resultaat:

Als we de lynn.checkBalance () methode aanroepen, is de code in onze ChildAccount.checkBalance () methode race , voert het super-object de code uit in de methode CheckingAccount.checkBalance ().

Met de functie super () kunnen we oudermethoden gebruiken, terwijl nog steeds in staat om die methoden in onze onderliggende klassen te overschrijven.

Conclusie

Met de functie Python super () kun je methoden overnemen van een bovenliggende klasse. Met de functie super () kunt u beter leesbare code schrijven omdat u code van bestaande functies kunt hergebruiken.

In deze zelfstudie wordt met voorbeelden besproken hoe u de functie super () kunt gebruiken . erven waarden en methoden van een bovenliggende klasse. U bent nu uitgerust met de kennis om de functie super () als een Python-professional te gaan gebruiken!

Voor meer bronnen over programmeren in Python, lees onze Python-leergids .

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