COGNOME
NOME
ESITO
FONDAMENTI DI INFORMATICA – modulo B – 24 Giugno 2015 – (G1)
PROVA PRATICA – LINGUAGGIO JAVA
NOTA PER LA CONSEGNA DEL COMPITO
Il compito deve essere stato compilato ed eseguito. E’ importante che tutti i file e le classi si
chiamino come richiesto. Nel testo .java (come commento) va indicato il nome dello studente.
Esercizio (da realizzare in un UNICO FILE .java)
Nella soluzione, prediligere il maggior riutilizzo di codice e la maggiore protezione possibile.
 Una classe astratta Persona definisce una generica persona (con attributo nome per il
nome, ed anno per l’anno di nascita ), il metodo costruttore per la classe, e il metodo astratto:
public abstract String whoAmI();
 Si definisca la sottoclasse Studente che deriva da Persona e che aggiunge un attributo
intero matricola per indicare la matricola dello studente. Nella sottoclasse Studente, si
definisca un metodo costruttore a tre argomenti (nome, anno nascita e matricola) e si definisca
il metodo whoAmI()in modo da restituire la concatenazione del nome, dell’anno di nascita e
della matricola come stringa.

Si realizzi un metodo main in una classe Prova che crei due oggetti anna e mario istanza
di Studente, il primo oggetto con attributi “Anna”, 1997, 12345 e il secondo oggetto con
attributi “Mario”, 1997, 13344.

Chiamando il metodo whoAmI() sui due oggetti anna e mario stampi sul file di uscita
output.txt le stringhe risultanti.
import java.io.FileOutputStream;
import java.io.PrintStream;
abstract class Persona {
public String nome;
public int anno;
public Persona(String nome, int anno) {
this.nome = nome;
this.anno = anno;
}
public abstract String whoAmI();
}
class Studente extends Persona {
public int matricola;
public Studente(String nome, int anno, int matricola) {
super(nome, anno);
this.matricola = matricola;
}
public String whoAmI() {
return "Sono " + this.nome + " nato nel " + this.anno + " matricola n. " + this.matricola;
}
}
public class Settembre162013G1 {
public static void main (String [] args) {
Studente st1 = new Studente("Anna", 1997, 13344);
Studente st2 = new Studente("Mario", 1997, 12345);
try {
PrintStream output = new PrintStream(new FileOutputStream("output.txt"));
output.println(st1.whoAmI());
output.println(st2.whoAmI());
} catch (Exception e) {
System.out.println("Errore: " + e);
System.exit(1);
}
}
}
Scarica

FONDAMENTI DI INFORMATICA II (Prof