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