‫Bentornato e questo video, continueremo con proprietà, setter e getter, abbiamo iniziato con l'ultimo video in cui abbiamo
‫guardato setter e getter e ora useremo lo stesso codice e stiamo
‫andando per allungarlo un po'.
‫Quindi abbiamo visto che possiamo usare i setter per impostare il valore di una variabile membro e possiamo implementare la nostra logica,
‫come vogliamo impostarla in modo che possiamo dire, OK, se vuoi impostare il valore, deve segui
‫le mie regole in modo che possiamo definire le nostre regole, che devono essere.
‫Seguito e poi abbiamo geta, che possiamo anche regolare, quindi possiamo semplicemente dire, OK, se vuoi ottenere
‫la variabile, ti darò in questo caso, il risultato della moltiplicazione di lunghezza, altezza, larghezza in
‫modo da poterli modificare a proprio piacimento.
‫Ora, diamo un'occhiata alle proprietà e come tutto questo è collegato tra loro.
‫Quindi creiamo una proprietà e creerò una proprietà pubblica chiamata altezza.
‫E questa altezza regolerà la mia variabile membro altezza.
‫Quindi era pubblico prima.
‫Ora lo renderò privato in modo che non possiamo accedere all'altezza dall'esterno.
‫Quindi qui, se voglio regolare l'altezza, non potrò più farlo.
‫Ora otterrò questo errore.
‫Va bene.
‫Ora usiamo la nostra proprietà height per poter ancora accedere alla nostra altezza lassù.
‫Quindi come lo facciamo?
‫Bene, noi, prima di tutto, usiamo questa proprietà con la H maiuscola e l'inizio.
‫In genere è così che usi la proprietà.
‫Questa è una convenzione e una programmazione speciale.
‫Le proprietà iniziano con una lettera maiuscola.
‫E ora qui dentro posso creare il mio Geter e posso tornare all'altezza e posso creare mia sorella e posso semplicemente impostare l'altezza
‫qui per essere, ad esempio, il valore che è il sito.
‫Ora, qual è questa parola chiave di valore?
‫Bene, quello che stiamo facendo qui è sostanzialmente la stessa cosa che facevamo prima.
‫Impostiamo la lunghezza e otteniamo la lunghezza.
‫Ma ora la nostra porta, per così dire, è l'altezza della nostra proprietà.
‫Quindi, se vuoi accedere o modificare l'altezza ricordabile, devi farlo tramite l'altezza della proprietà.
‫Quindi ora quello che puoi fare è impostarlo al valore che imposti sarà impostato sull'altezza.
‫Ora, come appare effettivamente quando andiamo al nostro programma ora qui, se proviamo a impostare l'altezza?
‫Accedendo direttamente alla variabile membro, non possiamo più farlo, ma se accedi alla proprietà, come puoi vedere, l'altezza è
‫disponibile qui ed è questa icona dello strumento che possiamo vedere qui.
‫Quindi questa è generalmente l'icona che hai quando vuoi accedere a una proprietà.
‫E puoi vedere che funziona così possiamo impostare l'altezza ora.
‫E se lo facciamo, questo o questo per qui, qualunque cosa ci sia dietro questo segno di uguale o dopo questo segno di
‫uguale.
‫Questo sarà il valore qui a questo valore e sarà impostato come altezza.
‫Quindi questo valore è praticamente la stessa cosa della lunghezza che avevamo prima quando abbiamo creato questa lunghezza impostata.
‫È più o meno lo stesso concetto, ma per noi è solo un modo più breve di farlo.
‫Destra.
‫Quindi puoi vedere se volevamo avere un setter, avevamo tutto questo codice.
‫Naturalmente, non avevamo bisogno di questo codice qui.
‫Va bene.
‫Tuttavia, avevamo tutto questo codice e ora abbiamo questo codice super corto.
‫Quindi questo è il centro.
‫Ovviamente, qui possiamo anche aggiustare ora, diciamo se il valore è minore di
‫zero, quindi imposteremo la nostra altezza su un valore negativo e altrimenti sarà altezza, valore uguale.
‫OK, ora andiamo al nostro programma e ora impostiamo il massimo a meno quattro.
‫E alla fine, impostiamolo perché abbiamo creato questo errore prima, giusto, e ora impostiamo l'altezza a meno
‫quattro ed eseguiamo il nostro codice.
‫E vedremo che funziona così Lenfest per come è con questa lotta.
‫Allora perché?
‫Anche se impostiamo il valore a meno quattro?
‫Bene, abbiamo detto che se il valore dell'altezza che mi passi è negativo, allora lo moltiplico.
‫Quindi, se il valore è inferiore a zero, lo moltiplicherò per meno uno.
‫Quindi ho intenzione di renderlo di nuovo positivo.
‫E se è positivo, allora fallo o assegna al valore o se è zero, va bene lo stesso.
‫Va bene.
‫Ecco cosa possiamo fare con le proprietà.
‫Ora, questa è un'implementazione di una proprietà.
‫Ovviamente, puoi anche usare la proprietà senza avere una variabile membro.
‫Quindi questo memorabile che abbiamo qui potrebbe essere qualcosa che non è richiesto in alcun modo.
‫Quindi potremmo anche saltarlo.
‫Quindi diciamo che non voglio impostare la larghezza come variabile membro.
‫Voglio averlo come proprietà.
‫E ti mostrerò un altro modo per creare una proprietà.
‫E questo è molto, molto più veloce.
‫Quindi usi solo P, R, O, P, quindi tocchi due volte e questo creerà questa proprietà per te.
‫Ora puoi solo entrare per digitare.
‫E dirò, okay, sarà un numero intero.
‫Quindi premi di nuovo tap e ora puoi dargli un nome.
‫Quindi chiamerò questo con.
‫Ora, cosa sta succedendo qui?
‫Bene, questo è un codice che è appena compreso da C Sharp ed è stato persino creato automaticamente per noi con il nostro
‫ID, giusto.
‫Dice solo di mettere punto e virgola, punto e virgola.
‫Quindi questo significa solo che sarà solo un getter predefinito e un setter predefinito,
‫il che significa solo che se vuoi accedere con, puoi semplicemente accedervi usando la variabile with this proprietà.
‫E se vuoi impostarlo, puoi anche usarlo.
‫Quindi cosa significa nel nostro caso?
‫Bene, significa che ora possiamo accedere a questa proprietà semplicemente assegnando un valore e se vuoi cavalcarlo.
‫Quindi, se vogliamo accedervi.
‫Scatole con.
‫È il punto della casella.
‫Con così qui possiamo accedere direttamente alla proprietà.
‫Va bene, quindi questa è la differenza qui.
‫Quindi, internamente, è la stessa cosa che se creassimo.
‫Il.
‫Con torniamo a questo con diamo di nuovo questa variabile membro, quindi
‫internamente è la stessa cosa come se creassi questo pubblico e con e lo commenterò per ora e ho un getter.
‫Quindi ottengo restituire il con.
‫Oppure iniziano con.
‫E il centro da cui ho detto che iniziano con il valore.
‫Va bene, quindi questo è davvero.
‫C'è.
‫Il codice qui è davvero la stessa cosa di questo, e internamente è anche ciò che accade una volta
‫compilato il codice in modo che il compilatore lo faccia automaticamente.
‫Per noi, dice solo, OK, se hai questa riga di codice, la tratterò totalmente come se fosse
‫questo codice che hai qui, solo che è molto più corto ed è molto più facile crearlo codice.
‫Va bene.
‫Quindi mi limiterò a commentare questo, perché l'ho letto come questo breve approccio che abbiamo lì.
‫E commentiamo questo in questo modo.
‫E non ho più bisogno di questa variabile membro, d'accordo, perché qui abbiamo bisogno di un membro verbale perché ho impostato
‫con e questo caso, ho detto che la variabile membro con non ho impostato.
‫La nostra economia non può fissarsi con se stessa, quindi se io invece qui scriverei con.
‫E se lo faccio ora, quello che creo è un overflow dello stack, quindi cerco costantemente di impostare qualcosa e qui sarà
‫un ciclo infinito, il che non va bene.
‫Ecco perché avevo bisogno di ricordare la variabile per questo esempio qui.
‫Va bene.
‫Ma internamente, lo tratterà in questo modo.
‫OK, quindi lo tratta internamente come il codice che abbiamo qui, solo che è molto più breve per noi.
‫Bene, ora una piccola sfida per te, per favore vai avanti e crea una proprietà per il volume che lo
‫circonda come abbiamo fatto con la larghezza qui.
‫Va bene.
‫Quindi più o meno lo stesso esempio che abbiamo qui, solo che regolerà il volume e non la
‫larghezza.
‫Quindi, per favore, provalo, crea la tua proprietà, digitalo.
‫Non fare l'approccio breve o utilizzare l'approccio breve.
‫Va bene.
‫Quindi, affinché questo abbia senso, prima di tutto, dobbiamo rendere il nostro volume privato e quindi
‫possiamo creare una proprietà per un volume in modo che sia pubblico e il volume con la V maiuscola venga ottenuto.
‫Riporta il volume e poi siediti.
‫Questo volume è uguale al valore.
‫Quindi questa è la loro proprietà che abbiamo creato per il volume.
‫Spero tu sia stato in grado di farlo.
‫Certo, avresti potuto sbarazzarti del tutto di questo volume e crearlo nello stesso modo in cui abbiamo fatto con
‫il con esso è molto più veloce.
‫Ma volevo solo mostrarti che anche questo è bello.
‫Ora il.
‫La parte importante qui è che possiamo pensare alla variabile volume o a questa proprietà e
‫perché oa che punto ha senso cambiarla o ottenerla?
‫Ha senso farle entrambe?
‫Perché il volume è qualcosa che viene calcolato in base alla larghezza, all'altezza e alla lunghezza.
‫Ora, ha senso impostare direttamente il volume?
‫Beh, no, direi di sì.
‫Penso che impostare il volume non abbia nemmeno senso.
‫Quindi potremmo sbarazzarci dell'intero centro e avere solo un cacciatore.
‫Ora, il volume stesso, non abbiamo mai impostato il volume.
‫È sempre calcolato.
‫Quindi ha senso restituire solo il volume?
‫Beh, in realtà non lo fa, perché in realtà quello che dovremmo fare è
‫qui, a questo punto, dovremmo calcolare che il volume sarà la moltiplicazione di lunghezza, altezza e con lo stesso.
‫Quindi ora è molto più significativo.
‫Quindi ciò che restituiamo con il volume è molto più significativo.
‫Se qualcuno vuole ottenere il volume, è quello che sta ottenendo.
‫Ora, ovviamente, abbiamo creato un piccolo bug qui in basso o alcuni metodi per ottenere il volume di cui non abbiamo più
‫bisogno, e allo stesso tempo qui con now c'è la proprietà a cui accediamo.
‫Non lo sarà.
‫Il no verbale più, perché non ce l'abbiamo più.
‫E ovviamente, nel nostro caso del programma, ora possiamo anche regolare tutto, quindi ora possiamo
‫accedere direttamente al Wi-Fi e possiamo accedere direttamente alla proprietà del volume e non più alla variabile membro del volume.
‫Va bene.
‫Quindi ora facciamo un ultimo passaggio qui.
‫E questo è aggiungere un costruttore, quindi box pubblico.
‫E.
‫Lunghezza e altezza e termina con.
‫Quindi ora se creiamo una scatola, voglio avere tutti quei valori e la lunghezza
‫che mi viene data una volta creata la scatola dovrebbe essere questa quella lunghezza, quindi l'altezza che viene data questa quell'altezza dovrebbe essere
‫l'altezza.
‫Quindi l'altezza che viene data, questa dovrebbe essere l'altezza che abbiamo qui, che è la nostra variabile
‫membro.
‫E il nostro con è quello finale.
‫E questa è la proprietà.
‫Quindi l'abbiamo detto alla larghezza che ci viene data.
‫Ora, in questo caso, potresti ovviamente omettere questa parola chiave che puoi semplicemente pronunciare, perché è
‫anche ovvio che stiamo parlando della proprietà di questa classe.
‫Quindi non hai bisogno di questa parola chiave qui.
‫Ora, una cosa importante che qualcuno ha chiesto e volevo chiarirla davvero.
‫Quindi questo che lunghezza uguale lunghezza funziona, ma lunghezza è uguale a questo.
‫Quella lunghezza non ha senso.
‫Quindi questa linea qui non ha senso perché la lunghezza è questa parte qui, che in realtà è solo un parametro ed è il
‫valore che ci viene dato.
‫Quindi non vogliamo regolare il valore che ci viene dato, ma vogliamo impostare il valore della nostra proprietà o
‫della nostra variabile membro.
‫Ed è quello che facciamo qui.
‫Quindi, e in questo caso, è quello che facciamo.
‫Impostiamo il valore della nostra variabile membro.
‫Bene, ora usiamo questa casella come creare caselle ora, perché ora non abbiamo più bisogno di fare tutto questo.
‫Non abbiamo più bisogno di impostare i valori direttamente, ma possiamo impostarli nella creazione della nostra scatola.
‫Quindi assegnerò solo i valori tre, quattro e cinque.
‫Quindi la lunghezza è tre per nascondere o in realtà l'altezza è quattro.
‫E con questo cinque.
‫E ora, se eseguiamo questo, visualizzerà la larghezza e il volume per noi.
‫Quindi sei con questo cinque volume è 60.
‫Va bene.
‫Sembra funzionare.
‫Ora, quello che possiamo fare è iniziare accedendo alla nostra proprietà.
‫Diciamo che ora impostiamo la larghezza a dieci ed eseguiamo di nuovo questo codice.
‫E abbiamo appena giocato ancora una volta, quindi possiamo vedere che viene stampato il valore predefinito che è stato dato e poi
‫il nuovo valore che abbiamo impostato, quindi abbiamo impostato con 210 e ora dice il valore e sta calcolando
‫il con di conseguenza.
‫Quindi tre per quattro per dieci fa 120.
‫Il nuovo volume è a posto, evocando così quello che abbiamo fatto è stato creare, prima di tutto, un mucchio
‫di variabili.
‫Li abbiamo resi privati in modo che nessuno, tranne questa classe stessa, possa accedervi direttamente.
‫OK, quindi nessun'altra classe può accedervi direttamente.
‫Possono accedervi solo tramite le nostre proprietà che abbiamo creato o tramite i nostri setter e getter.
‫Quindi abbiamo la lunghezza impostata a grande lunghezza.
‫Quindi, se qualcuno vuole accedere alla variabile di lunghezza, deve seguire il modo di usare set length e ottenere
‫length.
‫Questo è un approccio totalmente valido e lo vedrai.
‫E sì, con questi approcci, puoi definire la logica che vuoi seguire.
‫Se qualcuno vuole, ad esempio, impostare una variabile o se vuole ottenere una variabile.
‫Ora, un altro modo per farlo è utilizzare direttamente una proprietà.
‫Quindi, se usi una proprietà, devi chiamarla con una lettera maiuscola e quindi puoi
‫implementare un getter e così via. Ma puoi anche decidere di implementare solo un
‫getter o implementare solo una lettera o meno, ovviamente, implementandoli entrambi qui.
‫Puoi anche impostare i valori direttamente in modo da poter impostare le variabili membro.
‫Quindi questo è quello che abbiamo fatto qui.
‫Per così dire, aggiungendo un gateway chiamato altezza, che è la nostra proprietà alla nostra altezza che abbiamo creato qui in alto, che
‫è la nostra variabile membro, o abbiamo semplicemente seguito il percorso diretto in cui abbiamo appena
‫detto, OK, dirigeremo.
‫Abbiamo una proprietà implementata automaticamente molto semplice qui e non abbiamo bisogno di avere una variabile membro aggiuntiva per essa.
‫Avremmo potuto fare in modo che tutte quelle variabili avessero solo proprietà, quindi avremmo potuto renderlo
‫molto semplice.
‫Ma solo avere tre proprietà come.
‫Questo quindi sbarazzarsi di tutto questo e avere solo un doppio tocco pubblico o PR e questa sarebbe la lunghezza sarebbe solo essere
‫impostata e poi la stessa cosa per l'altezza e così via.
‫Ma volevo solo mostrarti tutti i diversi modi che ci sono e tutti i diversi modi
‫che vedrai.
‫E la maggior parte delle volte quando vedi qualcosa o quando usi le proprietà, vedrai la maggior parte delle volte in
‫questo modo.
‫Quindi, con la proprietà implementata automaticamente, qual è il modo più semplice e veloce?
‫Non avrai bisogno di usare tutti i diversi approcci che ti ho mostrato che
‫è davvero importante, non avrai bisogno di usare tutte le diverse strutture, ma in alcuni casi dovrai implementare il
‫centro.
‫In alcuni casi è necessario implementare l'ordine specifico e ora sai come farlo.
‫Quindi, in breve, se avete domande, perché avreste bisogno di questo approccio?
‫Bene, vengono utilizzati solo quando non è richiesta alcuna logica aggiuntiva nelle funzioni di accesso alle proprietà.
‫E le definizioni delle proprietà e.
‫Sì.
‫Getter e setter.