Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> Python Programming >> .

Python Override Base Metodo Classe

Python si comporta come un oggetto linguaggio di programmazione orientato completamente funzionale ( OOP ) . Al fine di sfruttare la potenza di programmazione orientata agli oggetti , i programmatori devono comprendere concetti come classi e l'ereditarietà . Utilizzando l'ereditarietà significa costruire le classi che utilizzano la funzionalità di altre classi di base come una fondazione. Questa pratica include anche la possibilità per le classi di ridefinire vecchi metodi classi per usi specifici . Le classi in Python

classi funzionano come i progetti per gli oggetti , la definizione di ciò che fanno e come lavorano con altri oggetti . In genere, una dichiarazione di classe è simile a questo esempio :

classe MyClass :

//definizione della classe

La definizione della classe è dove il programmatore stabilisce quali azioni un oggetto può fare, e quali sono le informazioni in suo possesso. Un metodo di base per una classe è il metodo "init" , che determina ciò che accade quando viene creato un oggetto della classe :

def __ init__ (self ) :

self.x = 1 < br

self.y > = 2

Questo metodo nella classe MyClass farà in modo che ogni oggetto MyClass ha un valore di x e y , uguale a 1 e 2 , rispettivamente .

classi derivate

Alcune classi potranno condividere funzionalità simili con altre classi , ma estendere tale funzionalità . Per esempio , prendere una classe di " Ball" che può rappresentare un pallone da calcio ( nel codice ) . Supponiamo inoltre che esista una classe "sfera" che rappresenta una sfera semplice e contiene il raggio ( r ) e un metodo per calcolare la superficie ( Sarea ( ) ) . In questo caso , l'unica differenza tra i due è che la classe " Ball" ha bisogno di dati aggiuntivi per la registrazione del colore . Pertanto, invece di riscrivere il codice da " Sfera " in " palla", il programmatore deriva proprio dalla sfera Sfera:
classe

Sfera ( Sphere ) :

Ora , classe sfera può accedere a qualsiasi metodo o dati di Sfera classe ( r, Sarea ( ) ) , e usarlo per se stessa ) .
Sovrascrivere i metodi di base

Il programmatore quindi potrebbero voler fare in modo che ogni sfera ha un colore di partenza al fianco del suo raggio . Funzione "init " La classe Sphere ' aspetto:

def __ init__ (self ) :

self.r = 5

Così ogni oggetto sfera ha un raggio di default di 5 . Palla di classe può sovrascrivere questo metodo definendolo nella sua classe . Così metodo "init" della palla potrebbe essere simile a questo:

def __ init__ (self ) :

self.color = red

Così ora colore predefinito della palla sarà rosso .
Override e utilizzo di un metodo di base

Ma a causa di Ball "init" prevale la classe base "init ", la classe base "init" non viene mai eseguito . Ciò è necessario . In Python , il metodo prevalente può chiamare il metodo che è prevalente in par della sua esecuzione :

def __ init__ (self ) :

Sphere.__init__ (auto ) per

auto . color = red

Questo assicura che l' inizializzazione di base si verifica , che la sfera ha un raggio ed un colore .

 

Programmazione © www.354353.com