Nwlapcug.com


Come eseguire l'Override di Equals in Python

Nella programmazione orientata agli oggetti (OOP), il concetto di rilevante gli operatori di confronto (minore di, maggiore di, uguale a, ecc.) è essenziale. Al fine di accertarsi che il confronto di oggetti si comporta correttamente (ovvero, come avete intenzione di farli), è necessario modificare la funzionalità di un operatore per riflettere come due oggetti deve interagire. Python non è fa eccezione alla regola.

Istruzioni

1

Impostare una classe. Questa classe servirà a definire che tipo di confronti un programmatore potrebbe richiedere nel corso di un programma. Chiamare la classe "confrontare":

classe confronta:

L'IDE, inserire quanto segue:

... def init(self, val1, val2):

... self.val1=val1

... self.val2=val2

Si definisce la classe con i valori due dati (val1, val2), che vengono inizializzati quando viene creata un'istanza della classe.

2

Eseguire l'override dell'operatore "uguale a". Nella programmazione, l'operatore di uguaglianza controlla l'uguaglianza di valori e restituisce true o false basato sull'uguaglianza di valori specificati. Supponendo che l'uguaglianza di tipo confronta dipende il val1 di ogni oggetto, immettere quanto segue nell'IDE:

... def eq(auto, altro):

... ritorno (self.val1 = = other.val1)

Questo esegue l'override dell'operatore di uguaglianza (= =) affinché esso può essere ridefinito.

3

Controllare i risultati. L'IDE, inserire quanto segue:

Comp1 = compare(1,4)

Comp2 = confronta (1, 57)

stampa (comp1 = = comp2)

Vero

Comp1 = = comp2 volontà stampa "True", perché le variabili di val1 sono uguali, e quindi per definizione gli oggetti sono uguali.