Python Eredità

Python Eredità

Il Python è un linguaggio di programmazione orientato agli oggetti. In un linguaggio di programmazione orientato agli oggetti, creiamo le classi ed eseguiamo la funzionalità prevista. L'eredità è la caratteristica fondamentale dei linguaggi di programmazione orientati agli oggetti. L'eredità può essere definita come la capacità di una classe di ereditare tutte le funzioni e le proprietà di un'altra classe. L'eredità consente essenzialmente di estendere le proprietà di una classe esistente. L'eredità è sfruttata con i due concetti principali:

  1. Classe genitore o classe base
  2. Classe figlio o classe derivata

La classe madre è la classe che consente di ereditare altre classi. È anche chiamato classe base. La classe figlio o la classe derivata è quella classe che eredita tutte le proprietà e le funzioni di un'altra classe. L'eredità promuove diversi vantaggi, io.e., È la rappresentazione del fenomeno dell'eredità del mondo reale. Incoraggia la riusabilità del codice. Se una funzione è definita in una classe, l'altra classe può ereditare questa classe e utilizzare tutte le funzioni esistenti. Non è necessario scrivere lo stesso codice ancora e ancora per eseguire attività simili. L'eredità viene applicata a più livelli. Ad esempio, se la classe B è ereditata da A e Classe C è ereditata dalla Classe B, la Classe C ha tutte le proprietà della Classe B e della Classe A. La sintassi dell'eredità è la seguente:

Classe Class Class:
Dettagli di implementazione della classe madre
Class Class Class:
Dettagli di implementazione della classe figlio

Sebbene la classe figlio abbia accesso a tutte le funzionalità e funzioni della classe principale, tuttavia, può anche aggiungere le sue nuove funzionalità e funzioni.

Questo articolo descrive e copre tutti gli aspetti dell'eredità di Python.

Implementazione ereditaria in Python

L'eredità può essere applicata in numerose situazioni. Supponiamo che tu stia costruendo un sistema software per un'università. Può essere composto da più parti interessate come studenti, insegnanti, personale, ecc. Quindi ogni persona ha un nome, età, e -mail e altre proprietà comuni. Non è necessario dichiarare separatamente tutte le proprietà in ciascuna classe. Possiamo fare una classe di persona e tutte le classi delle parti interessate possono ereditare tutte le proprietà e le funzioni comuni della classe persona. In questo caso, non è necessario scrivere le proprietà comuni in ogni classe ancora e ancora. Allo stesso modo, possiamo considerare una classe animale. Ci sono centinaia di tipi di animali in questo mondo. Tutti gli animali mangiano, dormono e hanno anche delle specie. Questo concetto può anche essere implementato usando l'eredità.

Consideriamo l'animale come una super classe e implettiamo l'eredità. Nell'esempio seguente, abbiamo creato una classe animale. La classe animale è la classe genitore. Inoltre, abbiamo creato le classi di cane e gatti che ereditano le proprietà e le funzioni della classe animale. La parola chiave Pass viene utilizzata nella classe figlio, quando non dobbiamo implementare alcuna funzionalità estesa nella classe figlio.

#Creating Parent Class
Animale di classe:
#Funzione di Inizializzazione
#Initilizzazione Il nome dell'animale e il tipo di specie
def __init __ (self, nome, specie_type):
se stesso.nome = nome
se stesso.Specie_Type = Specie_Type
#a funzione per stampare il nome dell'animale
def printname (self):
stampa ("Il nome dell'animale è:", Self.nome)
#a funzione per stampare il tipo di specie animale
Def PrintSpecie (self):
Stampa ("Il tipo di specie è:", Self.specie_type)
#Creating della classe per cani come classe di animali da bambino
Class Dog (animale):
# nessuna estensione o modifica
passaggio
#Now Class Dog ha accesso a tutte le funzioni e le proprietà della classe animale
#Creating dell'oggetto di classe per cani
dogobj = dog ("dog", "carnivore")
dogobj.printName ()
dogobj.printSpecie ()
#Creating della classe CAT come classe bambino di classe animale
Class Cat (animale):
#La funzione di inizializzazione della classe Cat
def __init __ (self):
#Chiamare e usare la funzione di inizializzazione della classe animale
Animale.__init __ (sé, "gatto", "mammifero carnivoro")
#Now CAT Class ha accesso a tutte le funzioni e le proprietà della classe animale
#Creating dell'oggetto CAT Class
CatOBJ = cat ()
CatObj.printName ()
CatObj.printSpecie ()

Produzione

IL "Animale.__init __ (self, "gatto", "mammifero carnivoro") " Chiama la funzione di inizializzazione della classe animale.

La funzione super ()

Il Python fornisce una funzione super () integrata per ereditare tutte le proprietà e le funzioni della classe genitore. Quando utilizziamo la funzione super (), non è necessario menzionare il nome della classe genitore come abbiamo fatto in "Animale.__init __ (self, "gatto", "mammifero carnivoro") " Ma la funzione super () indica automaticamente la classe genitore. Usiamo la super funzione.

#Creating Parent Class
Animale di classe:
#Funzione di Inizializzazione
#Initilizzazione Il nome dell'animale e il tipo di specie
def __init __ (self, nome, specie_type):
se stesso.nome = nome
se stesso.Specie_Type = Specie_Type
#a funzione per stampare il nome dell'animale
def printname (self):
stampa ("Il nome dell'animale è:", Self.nome)
#a funzione per stampare il tipo di specie animale
Def PrintSpecie (self):
Stampa ("Il tipo di specie è:", Self.specie_type)
#Creating della classe per cani come classe di animali da bambino
Class Dog (animale):
#Uso di super () funzione
def __init __ (self, nome, specie_type):
super().__init __ (nome, specie_type)
#Now Class Dog ha accesso a tutte le funzioni e le proprietà della classe animale
#Creating dell'oggetto di classe per cani
dogobj = dog ("dog", "carnivore")
dogobj.printName ()
dogobj.printSpecie ()
#Creating della classe CAT come classe bambino di classe animale
Class Cat (animale):
#La funzione di inizializzazione della classe Cat
#Uso di super () funzione
def __init __ (self, nome, specie_type):
super().__init __ (nome, specie_type)
#Now CAT Class ha accesso a tutte le funzioni e le proprietà della classe animale
#Creating dell'oggetto CAT Class
CatObj = Cat ("Cat", "Mammal carnivoro")
CatObj.printName ()
CatObj.printSpecie ()

Produzione

Ora aggiungiamo alcune più funzionalità nelle classi di bambini. Ogni classe eredita le proprietà e le funzioni comuni della classe genitore, ma la classe figlio può avere una classe extra destinata a questa particolare classe. Ora creiamo alcune proprietà e funzioni extra nel cane e nella classe Cat.

#Creating Parent Class
Animale di classe:
#Funzione di Inizializzazione
#Initilizzazione Il nome dell'animale e il tipo di specie
def __init __ (self, nome, specie_type):
se stesso.nome = nome
se stesso.Specie_Type = Specie_Type
#a funzione per stampare il nome dell'animale
def printname (self):
stampa ("Il nome dell'animale è:", Self.nome)
#a funzione per stampare il tipo di specie animale
Def PrintSpecie (self):
Stampa ("Il tipo di specie è:", Self.specie_type)
#Creating della classe per cani come classe di animali da bambino
Class Dog (animale):
#Uso di super () funzione
#PET Name è una funzionalità di recente aggiunta
def __init __ (self, name, specie_type, pet_name):
super().__init __ (nome, specie_type)
se stesso.pet_name = pet_name
#Crea di una nuova funzione
def printpetname (self):
Stampa ("Il nome per animali domestici è:", Self.nome del cucciolo)
#Now Class Dog ha accesso a tutte le funzioni e le proprietà della classe animale
#Creating dell'oggetto di classe per cani
dogobj = dog ("dog", "carnivore", "max")
dogobj.printName ()
dogobj.printSpecie ()
dogobj.printpetName ()
#Creating della classe CAT come classe bambino di classe animale
Class Cat (animale):
#La funzione di inizializzazione della classe Cat
#Uso di super () funzione
#Adding Food e Pet_Name Properties
def __init __ (self, nome, specie_type, cibo, pet_name):
super().__init __ (nome, specie_type)
se stesso.cibo = cibo
se stesso.pet_name = pet_name
#New funzione per accedere alle informazioni sul cibo
def printfood (self):
Stampa ("Il gatto piace:", Self.cibo)
#New Function per il nome da compagnia
def printpetname (self):
Stampa ("Il nome per animali domestici è:", Self.nome del cucciolo)
#Now CAT Class ha accesso a tutte le funzioni e le proprietà della classe animale
#Creating dell'oggetto CAT Class
CatObj = Cat ("Cat", "Mammal carnivoro", "Biscuit", "Daisy")
CatObj.printName ()
CatObj.printSpecie ()

Produzione

Le funzioni prevalenti

La funzione prevalente è il concetto importante nell'eredità. Una funzione è chiamata funzione sovrascritta se il nome della funzione è uguale nelle classi genitore e figlio ma l'implementazione o la funzionalità della funzione è diversa in ogni classe. Vediamo l'esempio della funzione sovrascritta nella classe animale. Nell'esempio seguente, abbiamo una funzione Eat nelle classi animali e nelle classi di bambini (cane e gatto). Il nome della funzione è lo stesso nelle classi ma l'implementazione è diversa.

#Creating Parent Class
Animale di classe:
def eat (self):
Stampa ("Tutti gli animali mangiano cibo")
#creating oggetto
ANIMABJ = animale ()
#Chiamare la funzione
ANIMABJ.mangiare()
#Creating Dog Class
Class Dog (animale):
def eat (self):
Stampa ("Il cane mangia carne")
#creating oggetto
dogobj = dog ()
#Chiamare la funzione
dogobj.mangiare()
Class Cat (animale):
def eat (self):
Stampa ("The Cat Eat Biscuits e del cibo speciale")
#creating oggetto
CatOBJ = cat ()
#Chiamare la funzione
CatObj.mangiare()

Produzione

Conclusione

L'eredità è uno dei concetti fondamentali dei linguaggi di programmazione orientati agli oggetti. Usando l'eredità, creiamo le classi di figli che ereditano tutte le funzioni e le proprietà della classe genitore. L'eredità promuove la riutilizzabilità del codice. Questo articolo spiega l'eredità in Python con esempi.