Come Override Equals in Python

January 22

Nella programmazione orientata agli oggetti (OOP), il concetto di operatori imperativi di confronto (minore, maggiore, uguale, ecc) è essenziale. Al fine di rendere certo che il confronto degli oggetti si comportano in modo corretto (cioè come loro di che si intende), è necessario modificare la funzionalità di un operatore per riflettere come due oggetti devono interagire. Python non fa eccezione alla regola.

istruzione

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 di confronto:

Inserire il seguente nell'IDE:

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

. . . self.val1 = val1

. . . self.val2 = val2

Questo definisce la classe con due valori di dati (val1, val2), che vengono inizializzate quando la classe viene creata un'istanza.

2 Override l'operatore "uguale". Nella programmazione di computer, i controlli operatore di uguaglianza per l'uguaglianza valore e di reddito vero o falso basano sulla parità dei valori indicati. Partendo dal presupposto che l'uguaglianza di tipo confrontare dipende dalla val1 di ogni oggetto, inserire il seguente nell'IDE:

. . . def eq (auto, altro):

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

Questo sovrascrive l'operatore di uguaglianza (==) in modo che possa essere ridefinito.

3 Controllare i risultati. Inserire il seguente nell'IDE:

comp1 = confronto (1,4)

comp2 = confrontare (1, 57)

stampa (comp1 == comp2)

Vero

comp1 == comp2 stamperà "True", perché le variabili Val1 sono uguali, e quindi, per definizione, gli oggetti sono uguali.