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).
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