Тёмный

Java (Playlist 2) OOP - ITA 4: classi in dettaglio - costruttori e metodi getter/setter 

fcamuso
Подписаться 73 тыс.
Просмотров 41 тыс.
50% 1

Uno dei cardini dei meccanismi sintattici della OOP è l'esistenza di metodi speciali da invocare all'atto della creazione degli oggetti: i costruttori. Vediamo perchè sono così importanti e come si implementano in Java.
Dopo la creazione di un oggetto se le variabili sono, giustamente, private bisogna ricorrere a metodi pubblici che ne leggano o modifichino i valori: sono i cosiddetti metodi getter e setter.
LEGAL
Il video contiene solo la registrazione con il mio commento audio (senza altri video, immagini o audio) di una sessione di lavoro con software liberamente scaricabili ed utilizzabili da chiunque. Il fine è esclusivamente didattico.
The video contains only the registration of my voice while I'm using only open source or freely downloadable software. No extra video, photos or audio. The goal is only educational.

Опубликовано:

 

12 авг 2013

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 32   
@badaelaori
@badaelaori 3 года назад
finalmente una spiegazione molto chiara e semplice del significato del THIS...
@watanuki982
@watanuki982 11 лет назад
Ottimo prof!
@fcamuso
@fcamuso 11 лет назад
Non che io sia un navigato lupo di mare :) No, non li supporta; bisogna cavarsela con una invocazione ad un altro overload constructor come spiegherò la prossima volta: Punto (int _x, int _y) { ... } Punto (int _x) { this(_x, 0); } Giusto, Harry. E sì che me li sto rivedendo per l'ennesima volta i suoi film :)
@fcamuso
@fcamuso 11 лет назад
OOP molto presto; Swing potrei iniziare qualche cosina anche prima di aver esaurito la parte OOP. Ho anche bisogno di farmi un poco le ossa con qualche esempio. Non sono un guru di Java ;)
@ivanabrami9831
@ivanabrami9831 7 лет назад
+fcamuso scusa io sto seguendo ora le lezioni e ho dei problemi con i codici, sa se con l'uscita di java 8 è cambiato qualcosa riguardo a questi? grazie in anticipo
@AbductionFailed
@AbductionFailed 9 лет назад
Salve prof, non mi è chiaro perché nell'uso dei modificatori, per la 'x' ha implementato solo il setX e non il getX (come ha fatto per la y)...prima di modificare una variabile, non si dovrebbe sempre accedervi? Grazie.
@antoninofabriziolabate3314
@antoninofabriziolabate3314 4 года назад
hai risolto?
@faustocoppi2213
@faustocoppi2213 8 лет назад
Non riesco a vedere le lezioni 3 e 4 (java oop) ma, sento solo la voce ....succede solo a me ?
@andreadegliantoni
@andreadegliantoni 11 лет назад
Salve, dove bisogna andare per creare in automatico il getter/setter?
@Reggiocitysnap
@Reggiocitysnap 3 года назад
mi scusi professore io non capisco una cosa,il modificatore di accesso private serve per non far vedere gli attributi o i metodi all'esterno della classe però per esempio anche se noi utilizziamo il private però dopo con il costrutto li facciamo ugualmente implementare nella classe main e quindi sono dati inseriti dall'esterno non si possono cmq creare dei problemi di robustezza del programma o di sicurezza? Se la risposta è affermativa come si dovrebbe risolvere il problema?
@ernestobrando
@ernestobrando 5 лет назад
ho un dubbio: se scrivo: p1 = new Punto(10,20); p1.setY(200); System.out.println(p1.getX()+" "+p1.getY()); il risultato è "0 200" ossia il valore 0 per la X e il valore del secondo rigo per la Y non c'è un modo per dare i valori 10 e 20 (ossia quelli tra parentesi del new Punto) come coordinate di p1? grazie
@umbertobarone1716
@umbertobarone1716 9 лет назад
Per la generazione dei metodi Getters and Setters Eclipse offre un'altra soluzione. Andare su Source, cliccare generate Getters and Setters e per ogni variabile creerà i metodi. Piccola chicca! Ciao!
@fcamuso
@fcamuso 11 лет назад
Sostare con il mouse sopra una variabile; dovrebbe fare la proposta nel box giallo che appare
@_Blacklagoon_
@_Blacklagoon_ 5 лет назад
ho impiegato un pochino a capire, però sono riuscito a fare tutto e forse a capire come farlo da solo xD
@fcamuso
@fcamuso 11 лет назад
;)
@GiovanniDeRosa69
@GiovanniDeRosa69 11 лет назад
Novellino in Java ho notato che non ha le property con get; set; non ha nemmeno parametri di default che potrebbero essere usati nei costruttori? (Es: Punto(int x, int y = 0)). PS: Aggiornamenti: Mandrake -> Harry Potter :)
@abzu2467
@abzu2467 10 лет назад
non mi è chiaro se posso usare i metodi set,get al posto del costruttore o devono essere usati insieme o posso usare il costruttore senza i metodi è un po' di volte che riguardo il video ma non capisco la funzione dei metodi set,get
@fcamuso
@fcamuso 10 лет назад
In una classe potresti avere decine di variabili nello stato interno. Improponibile prevedere costruttori che accettino così tanti valori). Quello che si fa è gestire le più importanti con i costruttori e per le altre un setter (un costruttore lo puoi invocare solo una volta per oggetto). Ma potrà ben capitare di dover modificare una variabile precedentemente inizializzata con un costruttore: di nuovo c'è bisogno di un setter. Dopo aver creato un oggetto è normale doverlo 'osservare' ogni tanto, cioè estrarre i valori attuali delle variabili; di nuovo servono metodi, getter questa volta. L'alternativa sarebbe dichiarare le variabili public che è un SUICIDIO progettuale. Quindi si usano metodi, loro si public, getter e setter. La differenza sta nel fatto che un getter e setter possono fare tutta una serie di controlli e automatismi che non potranno essere evitati.
@alessiolombardo5527
@alessiolombardo5527 4 года назад
Posso chiedere una cosa? Le variabili le abbiamo protette da chi??
@marcocoppola342
@marcocoppola342 10 лет назад
Scusi l'ignoranza, ma se non faccio la dichiarazione iniziale: x=0; y=0; quando invoco il costruttore di default Punto() cosa succede???
@fcamuso
@fcamuso 10 лет назад
Java inizializza in automatico gli int a zero; quindi in questo caso è la stessa cosa. Ma io sono troppo abituato ad inizializzare per sicurezza
@marcocoppola342
@marcocoppola342 10 лет назад
Perfetto, si anche io prefrisco essere ridondante a beneficio della maggior chiarezza Grazie come sempre (PS: ma ci sarà ancora una 5° playlist di Java?)
@fcamuso
@fcamuso 10 лет назад
Non escludo, talmente vasto come mondo che ogni tanto penso proprio ritornerò...
@giuseppefoglia3646
@giuseppefoglia3646 9 лет назад
come mai non va ?
@gabrythebestforever5
@gabrythebestforever5 9 лет назад
Giuseppe foglia riduci la qualità
@andreabassi7443
@andreabassi7443 7 лет назад
L'identatura del codice non è l'ideale....
@mastromastromastro1
@mastromastromastro1 8 лет назад
Ottimi video ma mi permetto di osservare che l' indentatura è pessima mi da un po fastidio... basterebbe su eclipse CTRL + SHIFT + f.
@nothappyz
@nothappyz 8 лет назад
Non bada tanto agli spazi, ma quelli in automatico di eclipse fanno schifo cioè
@mastromastromastro1
@mastromastromastro1 8 лет назад
non è una questione di spazi, è che per esempio dopo " ; " deve andare a capo, poi la " { " le mette come capita e questo è veramente sbagliato rende il codice illeggibile e difficile da aggiustare o modificare quando è molto lungo.
@nothappyz
@nothappyz 8 лет назад
Mah stai esagerando, il codice è molto leggibile anche se non è come lo scriveresti tu o io, ma ripeto che vedere uno spazio tra un int a = 0; della auto formattazione di eclipse fa veramente schifo
@GiovanniCapitanoOriginale
@GiovanniCapitanoOriginale 9 лет назад
anche questo video non va
@giuseppedelrosso8681
@giuseppedelrosso8681 6 лет назад
oopS mi sono un po perso! devo ripassare
Далее
skibidi toilet 76 (part 2)
04:28
Просмотров 14 млн