11.07.2015 Views

Soluzioni Esercizi Q2 (pdf, it, 131 KB, 3/23/09)

Soluzioni Esercizi Q2 (pdf, it, 131 KB, 3/23/09)

Soluzioni Esercizi Q2 (pdf, it, 131 KB, 3/23/09)

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

6 JAVA: ered<strong>it</strong>arietà, gerarchie di classi, astrazione<strong>Esercizi</strong>o <strong>Q2</strong> 14Sia data la seguente classe Felino.java, parte di un package felini:package felini;public class Felino {private String nome;}public Felino(String nome) {this.nome = nome;}public String getNome() {return nome;}public String specie() {return "un felino";}public String toString() {return "sono " + specie() +" e mi chiamo " + getNome();}public double quantoCosta() {return 100.0;}public boolean domestico() {return true;}public final boolean possoComprarloCon(double soldi) {return domestico() && soldi >= quantoCosta();}Si crei una gerarchia di classi costruendo due sottoclassi di Felino, la prima chiamata Gatto e la seconda Tigre, ridefinendoi metodi che è opportuno ridefinire e ered<strong>it</strong>ando gli altri. Con lo stesso cr<strong>it</strong>erio, si costruiscano due classi ulteriori, Siamese eScozzese, che specializzano ulteriormente la classe Gatto. Infine, si scriva una classe MainFelini.java che istanzia i seguentioggetti:Gatto aureliano = new Gatto("Aureliano"); Tigre attila =newTigre("Attila"); Siamese chen = new Siamese("Chen") Scozzeseintosh = new Scozzese("Intosh");e ne invoca i metodi toString.package felini;public class Gatto extends Felino {public Gatto(String nome) {super(nome);}public String specie() {return "un gatto";}15

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!