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'orario
codice:
public Orario(String s)  // Rappresenta l'orario indicato nella stringa tramite parametro.
codice:
public Orario()    // Rappresenta l'orario attuale, implementato tramite costanti della classe 'calendar' e 'gregorianCaledar'
Quindi per cominiciare a parlare di cose pratiche abbiamo:

[CODE]public Orario (int hh, int mm){
ore= hh;
min=mm;
}

codice:
public Orario(){
GregorianCalendar adesso= new GregorianCalendar();
ore = adesso.get(Calendar.HOUR_OF_DAY);
min = adesso.get(Calendar.MINUTE);
}
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(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:

codice:
 metodo public boolean equals(Orario altro) {
return this.ore == altro.ore && this.min == altro.min;
2. //"altro.ore" si tratta dell'oggetto ore che viene passato come parametro ma, "this.ore" a che oggetto si riferisce?
}

codice:
public boolean isMinore(Orario altro ){
return ore< altro.ore || (ore== altro.ore && nim < altro.min);
}
2
codice:
public String ToString(){
return ore + ":" + min;
// 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!!!!!
}


GRAZIE A TUTTI