Salve a tutti. Sono nuovo nel mondo della programmazione ad aoggetti.
Vi illustro un esempio di Classe che è presente sul mio libro e vi chiederei di corregermi sulle cose sbagliate che dirò.
L'esercizio si tratta di costruire una classe i cui oggetti rapresentino orari.
la classe deve dispone di tre costruttori:
codice:public Orario(int hh, int mm) // che costruisce un oggeto che rappresenta l'orariocodice:public Orario(String s) // Rappresenta l'orario indicato nella stringa tramite parametro.Quindi per cominiciare a parlare di cose pratiche abbiamo:codice:public Orario() // Rappresenta l'orario attuale, implementato tramite costanti della classe 'calendar' e 'gregorianCaledar'
[CODE]public Orario (int hh, int mm){
ore= hh;
min=mm;
}
1. //Non capisco che tipo di oggetto crea questo costruttore. E perchè usa le variabili distanza di del costruttore di sopra? Che utilità pratica ha il primo costruttore?codice:public Orario(){ GregorianCalendar adesso= new GregorianCalendar(); ore = adesso.get(Calendar.HOUR_OF_DAY); min = adesso.get(Calendar.MINUTE); }
codice:public Orario(String s){ ore = Interger.parseInt(s.substring(0,2)); min = Interger.parseInt(s.substring(3,5)); }
Ci sono poi due variabile. 'String s' che passerà che potrà essere passata al terzo costruttore della classe Orario per costruire l'oggetto. Il riferimento sarà poi memorizzato nella variabile 'Orario o'. E per ultimo la variabile 'Orario adesso' che sarà il riferimento all'oggetto Orario del costruttore senza parametri e reppresenterà l'ora attuale. Quindi:
codice:String s = in.readLine("Inserire ora hh:mm") Orario o = new Orario(s); Orario adesso = new Orario();
La classe dispone anche di tre quattro metodi:
2. //"altro.ore" si tratta dell'oggetto ore che viene passato come parametro ma, "this.ore" a che oggetto si riferisce?codice:metodo public boolean equals(Orario altro) { return this.ore == altro.ore && this.min == altro.min;
}
}codice:public boolean isMinore(Orario altro ){ return ore< altro.ore || (ore== altro.ore && nim < altro.min);
2// A questo punto Presumo che queste variabili siano quelle del primo costrutto ma non capisco perche restituiscono qualche valore essendo che sono state usate SOLO dal secondo e terzo costruttore e quindi dovrebbero ritornare i valori dei due .. UN CASINO!!!!!codice:public String ToString(){ return ore + ":" + min;![]()
}
GRAZIE A TUTTI

Rispondi quotando