Esercizi di ripasso in Laboratorio 1

Martedì, 15 Novembre 2005

OBIETTIVI DELLA LEZIONE

In questa lezione non verrà presentato materiale nuovo, ma ci ritroveremo in laboratorio per completare eventuali esercizi rimasti irrisolti dalle scorse esercitazioni. Dal giorno successivo a quello della lezione, la pagina potrebbe contenere soluzioni ad esercizi proposti precedentemente (soluzioni sviluppate durante la lezione).

Soluzione all'esercizio 4 della lezione 8

class Cerchio extends Ellisse {

  public Cerchio(double raggio) {
    // #### possibilità 1, LA MIGLIORE !!!
    // #### Invochiamo direttamente un costruttore specifico della superclasse, imponendo che
    // #### asseMinore = asseMinore = raggio. 
    // #### Ricordate che questa istruzione deve essere il primo enunciato del costruttore 
    // #### della sottoclasse perchè altrimenti, la JVM invoca al posto vostro come
    // #### prima istruzione super();
    super(raggio,raggio);

    // #### possibilità 2; sull'oggetto di classe cerchio possiamo applicare 
    // #### i metodi ereditati dalla superclasse:
    // this.setAsseMaggiore(raggio);
    // this.setAsseMinore(raggio);

    // #### possibilità 3; sull'oggetto della superclasse da noi esteso
    // #### possioamo applicare i suoi metodi.
    // super.setAsseMaggiore(raggio);
    // super.setAsseMinore(raggio);
  }

  // metodi istanza
  public void setRaggio(double raggio) {
    this.setAsseMaggiore(raggio);
    this.setAsseMinore(raggio);
  }

  public double getRaggio() {
    return this.getAsseMaggiore();
  }

}
import javax.swing.*;

public class ProvaCerchio {
  public static void main(String[] args) {
    String stringaInput;
    stringaInput = JOptionPane.showInputDialog("Inserisci il raggio: ");
    Cerchio mioCerchio = new Cerchio(Double.parseDouble(stringaInput));
    JOptionPane.showMessageDialog(null, "L'area del cerchio di raggio " +
      mioCerchio.getRaggio() + " è " + mioCerchio.calcolaArea() + ".");
    System.exit(0);
  }
}

©2005 Roberto Sassi