Classe Super Javascript

| | | |

Il metodo Python super() ti consente di accedere ai metodi di una classe genitore dall’interno di una classe figlia. Questo aiuta a ridurre la ripetizione nel codice. super() non accetta alcun argomento.

Una caratteristica fondamentale dei linguaggi di programmazione orientati agli oggetti come Python è l’ereditarietà. L’ereditarietà si verifica quando una nuova classe utilizza il codice di un’altra classe per creare la nuova classe.

Quando erediti le classi, potresti voler ottenere l’accesso ai metodi da una classe padre. è qui che entra in gioco la funzione super().

Questo tutorial discuterà, con esempi, le basi dell’ereditarietà in Python. Quindi, parleremo di come utilizzare la funzione super() per ereditare valori e metodi da una classe genitore.

Cos’è Python Super?

Il metodo Python super() ti consente di accedere ai metodi in una classe genitore. Puoi pensare a super() come a un modo per visualizzare i metodi nella classe da cui viene ereditata un’altra classe.

Ecco la sintassi per il metodo super():

Il metodo super() non accetta alcun argomento. Si specifica il metodo che si desidera ereditare dopo il metodo super(). La precedente classe Python eredita i valori dal metodo __init__() della classe Food. Chiamiamo il metodo della classe super() per ereditare i valori dalla classe Food.

L’ereditarietà Python si riferisce a un processo in cui una nuova classe utilizza codice da una classe esistente per definire la struttura della nuova classe.

L’81% dei partecipanti ha dichiarato di sentirsi più sicuro delle proprie prospettive di lavoro nel settore tecnologico dopo aver frequentato un bootcamp. Fatti abbinare a un bootcamp oggi.

Il laureato medio di un bootcamp ha trascorso meno di sei mesi nella transizione di carriera, dall’avvio di un bootcamp alla ricerca del primo lavoro.

Un modo per pensare all’ereditarietà è considerare come i bambini ereditano le caratteristiche dai loro genitori. Un bambino può avere lo stesso colore di capelli dei genitori e anche ereditare il cognome dai genitori.

In Python ci sono due tipi di classi:

  • Classi per bambini (o "sottoclassi") ereditano metodi e variabili. Le classi figlie sono talvolta chiamate classi sorelle.
  • Le classi principali (o "classi base") sono classi i cui valori possono essere ereditati.

super() Python: Eredita da __init__()

Supponiamo di creare un sistema di conti bancari che tenga traccia delle credenziali delle persone che detengono un conto presso una banca. , vogliamo creare una classe che memorizzi i dati per i conti correnti. Potremmo farlo usando questo codice:

Questo codice crea un progetto di un conto corrente.

Ora, supponiamo di voler creare una classe che memorizzi il progetto per i conti bancari figli, che chiameremo ChildAccount. La classe dovrebbe essere basata sulla classe CheckingAccount che abbiamo definito in precedenza.Per farlo, possiamo usare la funzione super().

super() ti permette di accedere ai metodi di una classe genitore all’interno di una classe figlia.

Nel nostro esempio, la nostra classe genitore si chiama CheckingAccount e la nostra classe figlio si chiama ChildAccount. CheckingAccount crea il progetto per un conto bancario e ChildAccount eredita i valori da CheckingAccount per creare la propria classe.

Ora , supponiamo di volere che la classe ChildAccount erediti i valori memorizzati nel nostro CheckingAccount. Ma vogliamo anche che questo account memorizzi un nuovo valore chiamato is_child, che dovrebbe essere uguale a True per impostazione predefinita.

Potremmo creare il nostro nuovo ChildAccount classe utilizzando questo codice:

Questo codice crea un progetto per la nostra nuova classe ChildAccount. Usiamo il metodo super() per ereditare il nome e i valori del saldo dalla classe CheckingAccount. Specifichiamo CheckingAccount come classe genitore tra parentesi nella prima riga della nostra classe.

Questo mostra che super() ti permette di ereditare tutti i valori di un’altra classe. Ma, nel nostro codice, abbiamo anche dichiarato un nuovo valore chiamato is_child. Questo valore sarà accessibile solo a qualsiasi ChildAccount perché è stato dichiarato nella classe ChildAccount.

Per creare un’istanza della nostra classe per un titolare di account figlio, possiamo utilizzare questo codice:

Il nostro il codice restituisce:

Abbiamo dichiarato un’istanza della classe ChildAccount assegnata alla variabile Python lynn. lynn è un oggetto di classe perché abbiamo dichiarato il valore di lynn utilizzando un oggetto.

L’account di Lynn ha $ 200 e il valore di is_child è True per impostazione predefinita. Quindi, abbiamo stampato i valori di name, balance, is_child associati all’acc di Lynn zia. Stampiamo questi valori sulla console usando il metodo Python print().

Perché abbiamo ereditato name e balance dalla classe CheckingAccount, siamo stati in grado di usarli nel nostro codice. Tuttavia, l’account di Lynn ha anche un valore impostato per is_child, che è impostato su True per impostazione predefinita per tutte le istanze di ChildAccount.

super () Python: Eredita metodi

super() consente di ereditare le classi utilizzando l’ereditarietà a livello singolo‚Äîereditando una classe da una classe genitore. Oppure puoi usare super() con l’ereditarietà multilivello. Per questo esempio, ci concentreremo sull’ereditarietà a livello singolo con super().

Nel nostro esempio precedente, abbiamo usato super() per eredita i valori memorizzati nella classe CheckingAccount e li rende accessibili nella classe ChildAccount. Ma cosa succede se volessimo ereditare un metodo e modificarne la risposta?

"Il Karma di carriera è entrato nella mia vita quando ne avevo più bisogno e mi ha aiutato rapidamente ad abbinarmi a un bootcamp. Due mesi dopo la laurea, ho trovato il mio sogno lavoro in linea con i miei valori e obiettivi nella vita!"

Venus, Software Engineer presso Rockbot

Torniamo al nostro Classe CheckingAccount precedente:

In questa classe, abbiamo definito il progetto per i valori che la classe dovrebbe memorizzare &mdash ; nome e saldo. Abbiamo definito un metodo chiamato checkBalance() che consente a un utente di controllare il proprio saldo.

Ora, supponiamo di voler rendere checkBalance() accessibile al nostro ChildAccount. Vogliamo anche stampare un messaggio che dichiari "Sei il titolare di un account bambino!" Dovrebbe apparire prima che il saldo dell’utente venga stampato sulla console.

Potremmo accedere ai nostri metodi ereditati in questo modo:

Abbiamo ha dichiarato una nuova versione del metodo checkBalance() nella classe ChildAccount. Questa versione prima stampa "Sei un titolare di un account figlio!" alla console, quindi il nostro codice utilizza super() per eseguire il metodo checkBalance() dalla classe’ genitore.

In questo caso, quando viene eseguito super().checkBalance(), la funzione checkBalance() da CheckingAccount viene eseguita la classe. Questo stampa il saldo dell’utente sulla console.

Ora, proviamo ad accedere al nostro metodo checkBalance() per l’account di Lynn:

Il nostro il codice restituisce:

Quando chiamiamo il metodo lynn.checkBalance(), il codice nel nostro metodo ChildAccount.checkBalance() è run, quindi il super oggetto esegue il codice nel metodo CheckingAccount.checkBalance().

La funzione super() ci consente di utilizzare parent metodi, pur essendo in grado di sovrascrivere quei metodi nelle nostre classi figlie.

Conclusione

La funzione Python super() ti consente di ereditare metodi da un genitore classe. La funzione super() ti aiuta a scrivere codice più leggibile perché puoi riutilizzare il codice da funzioni esistenti.

Questo tutorial ha discusso, con esempi, come usare la funzione super() per eredita valori e metodi da una classe genitore. Ora sei dotato delle conoscenze necessarie per iniziare a utilizzare la funzione super() come un professionista Python!

Per ulteriori risorse sulla programmazione Python, leggi il nostro Guida all’apprendimento di Python.

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

News


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