‫In questo, nei prossimi video, imparerai a conoscere le interfacce e sono
‫piuttosto importanti perché estendono davvero le funzionalità della programmazione orientata agli oggetti e delle classi.
‫Quindi cos'è un'interfaccia?
‫Bene, pensa alle interfacce come contratti in cui una classe che implementa un'interfaccia accetta di fornire implementazioni
‫per tutti gli oggetti definiti da quell'interfaccia.
‫Ciò significa che un'interfaccia conterrà i termini, i metodi e le proprietà del contratto.
‫Ma come li implementiamo dipende dalla classe che implementa l'interfaccia.
‫Finché questi metodi di interfaccia sono implementati nella nostra classe, l'interfaccia rimarrà felice.
‫Quindi le interfacce non possono contenere implementazioni importanti.
‫Quindi i loro nomi sono generalmente preceduti dall'occhio per distinguerli da altri oggetti C diesis.
‫Creiamo interfacce utilizzando la parola chiave interface.
‫Ora diamo un'occhiata a come possiamo farlo in pratica.
‫Bene, eccoci di nuovo in Visual Studio, quindi una delle funzionalità più utilizzate nelle nostre
‫classi C sharp è il confronto con le istanze di una classe che viene eseguita utilizzando il metodo equals.
‫Questo confronterà per vedere se il riferimento a entrambe le classi è lo stesso.
‫Tuttavia, vogliamo confrontarli e vedere se sono uguali in base a qualche altro campo in modo
‫da poterlo ottenere implementando un'interfaccia chiamata I Equatable.
‫Quindi, nel nostro caso, abbiamo una classe chiamata ticket e definisce una proprietà chiamata durata in ore.
‫Quindi andiamo avanti e creiamo questa classe.
‫Molto presto qui ho una nuova classe e in realtà posso andare qui o usare il controllo scorciatoia
‫K e C, e chiamerò questo biglietto.
‫Quindi questo biglietto, come ho detto, ha solo una proprietà e un costruttore.
‫Quindi mettiamoli qui.
‫Quindi questa proprietà è lì per memorizzare la variazione del biglietto e la nostra.
‫E poi abbiamo il costruttore qui.
‫E ora andiamo avanti e implementiamo l'interfaccia equatable, quindi usiamo qualcosa di simile a quello che abbiamo fatto
‫quando abbiamo usato l'ereditarietà, abbiamo usato i due punti e poi l'interfaccia che vogliamo usare.
‫E vedi che ce ne sono un sacco.
‫E quello che voglio usare sarà l'io equabile.
‫Ora è necessario definire quali tipi di oggetti si desidera confrontare.
‫Quindi qui voglio confrontare i biglietti tra loro.
‫Questo è il motivo per cui ho bisogno di aggiungere una parola chiave per il biglietto.
‫Ora noterai che Visual Studio non è molto contento perché dice che definisce un metodo generalizzato per un tipo di
‫valore di classe implementa per creare un metodo specifico.
‫Ma poi il problema che otteniamo qui è che il biglietto non implementa i membri dell'interfaccia.
‫Biglietto uguale uguale segreto.
‫Possiamo risolverlo molto facilmente andando avanti e implementandolo, quindi avremmo potuto utilizzare tutti i membri
‫per implementarli esplicitamente o semplicemente farlo manualmente.
‫Facciamolo molto velocemente.
‫Quindi, in pratica, voglio restituire un booleano che controllerà se qualunque biglietto sto passando, quale
‫sarà l'altro biglietto sarà lo stesso del biglietto.
‫Questo è quello che chiama questo metodo.
‫Ok, allora il biglietto.
‫Che creiamo da questo, lo confrontiamo con un altro biglietto e poi vogliamo confrontare le ore di durata.
‫Quindi, se hanno la stessa durata, supponiamo che siano lo stesso biglietto.
‫OK, quindi qui possiamo semplicemente andare avanti e restituire il confronto di questa durata in ore rispetto all'altra
‫durata e ore.
‫Quindi in pratica stiamo dicendo che questo biglietto ha una durata e degli orari e anche l'altro biglietto è di quel
‫biglietto.
‫Quindi ha una durata in ore e stiamo confrontando i due tra loro.
‫E questo confronto, questo doppio segno di uguale ritornerà sostanzialmente.
‫Vero o falso?
‫OK, quindi questo è l'operatore toro a sinistra ea destra.
‫Quindi quello che fa è confrontare ciò che gli è rimasto con ciò che gli è giusto.
‫E se sono uguali, allora tornerà vero.
‫Altrimenti restituirà false.
‫Fondamentalmente dicendo che questo metodo equals restituirà true se il ticket che chiama il metodo equals ha la stessa
‫durata e le stesse ore del ticket con cui lo confrontiamo, quindi ritorna.
‫Vero, in caso contrario, restituisce falso.
‫OK, allora passiamo ai nostri programmi.
‫Sì.
‫E usa davvero questo.
‫Quindi qui creeremo due biglietti.
‫Uno sarà T uno e sarà un nuovo biglietto e avrà durata e ore di dieci.
‫E poi copiamo effettivamente questo e creiamo un biglietto due, che avrà anche dieci ore e ora possiamo
‫confrontarle.
‫Quindi qui, usiamo la riga di destra del controllo per visualizzare solo T due punti uguali e confrontare T uno con esso.
‫Quindi puoi sostanzialmente confrontare il nostro biglietto con il nostro biglietto e confrontarlo usando il metodo equals.
‫Ora eseguiamo questo molto veloce.
‫E vedrai che dice vero, e di solito non è così per il metodo equals, perché se si
‫confronta con oggetti usando un normale metodo equals, per così dire.
‫Quindi, se non dovessimo implementarlo, liberiamoci di questo qui per un secondo.
‫Quindi commentiamo tutto questo e confrontiamolo con te.
‫Vedi, il metodo c'è ancora.
‫Questo equal funziona ancora perché equal è un metodo che esiste in generale, e ora vedi che dice false
‫perché equals è un metodo che si trova all'interno della classe dell'oggetto.
‫E la classe dell'oggetto ha sempre questo metodo uguale perché ogni classe eredita dall'oggetto.
‫Ma ora quello che stiamo facendo è implementare il nostro metodo equals usando l'interfaccia equatable.
‫Quindi stiamo usando un'interfaccia specifica che ci permette di confrontare a nostro modo, per così dire, e implementare il nostro
‫codice.
‫Quindi ora se confrontiamo i due, non stiamo confrontando se l'oggetto è esattamente lo stesso con cui lo stiamo
‫confrontando.
‫Ma se nel nostro caso, il tempo nel nostro è lo stesso.
‫Quindi la durata e la nostra sono le stesse, e poi tornerà.
‫Vero.
‫Quindi se l'ora e l'ora non sono le stesse, diciamo che sono le sei, allora tornerà false perché la durata
‫non è la stessa per i due biglietti che stiamo confrontando tra loro.
‫Quindi questo era solo un esempio utilizzando una semplice interfaccia che esiste.
‫E come hai visto, ci sono molte interfacce che esistono automaticamente durante la creazione di un progetto speciale.
‫Ma vedremo come creare le nostre interfacce e usarle nel prossimo video.
‫Quindi ci vediamo lì.