ISTITUTO STATALE DI ISTRUZIONE SUPERIORE “F. ENRIQUES”
CORSO JAVA – PROVA FINALE DEL 21 MAGGIO 2007
NOME:
COGNOME:
________________________________________________________________________________
1.
Associare tramite una freccia ogni parola chiave nell’elenco alla rispettiva operazione:
( Nota Bene: Le parole chiave possono essere assegnate ad una, nessuna o più operazioni..
Una operazione può essere assegnata ad una, nessuna o più parole chiave. )
2.
1)
Import
2)
Final
A)
Derivazione
3)
Extends
B)
Modificatore d’accesso
4)
Public
C)
Creazione Interfaccia
5)
Comparable
D)
Astrazione
6)
Abstract
E)
Istanziazione oggetto
7)
Static
F)
Implementazione Interfaccia
8)
New
G)
Accesso package
9)
Protected
10)
Implements
Rispondere con una V se ritenete l’affermazione vera o con una F se la ritenete falsa :
___
Un package è una collezione di programmi Java.
___
Una classe derivata da una classe astratta ne deve implementare tutti i metodi
astratti prima di poter essere istanziata.
___
L’utilizzo di un package permette il riutilizzo di codice scritto da altri.
___
Per creare una classe astratta si utilizza la parola chiave Extends.
___
Una classe astratta non può essere istanziata.
___
Per ottenere l’accesso ad un package si utilizza la parola chiave Extends seguito
dal nome del package.
___
Una classe astratta non ha il metodo costruttore.
___
Se una classe è astratta significa che si può fare l’overridding ma non l’overloading.
___
L’associazione di un intero package tramite l’utilizzo del “.*” deve essere effettuata
con cautela perché comporta un degrado delle prestazioni.
Pag. 1 di 6
3.
Dato il seguente grafico di relazione tra classi, contrassegnare le affermazioni a lato con
una V se la ritenete vera o con una F se la ritenete falsa.
A)
B)
___
Un oggetto Studente può invocare
il metodo getNome
___
C)
Un oggetto Professore può modificare
il valore di un attributo di Persona (Es.
indirizzo) da cui eredita, solo se
tale attributo è dichiarato public
___
D)
Un oggetto Studente può invocare
il metodo visualizza di Persona
solo usando la parola chiave super
___
Un oggetto Professore, tramite
l’oggetto Persona può accedere
all’attributo matricola di Studente
___
E)
F)
4.
Un oggetto Persona può invocare il
metodo aggiungiCorso.
Una classe Studente non può implementare
un metodo aggiungiCorso perché
già presente nella classe Professore ___
Consideriamo il caso in cui la classe Persona dell’esempio precedente sia una classe
astratta. Come andrebbero modificate le classi Studente e Professore?
Pag. 2 di 6
5.
6.
7.
Quali delle seguenti affermazioni sul casting sono vere? (Contrassegnare le vere con una croce)
___
Il casting può essere implicito, esplicito e assoluto.
___
Se a è un intero e b è un long allora l’istruzione b = a; è una operazione sicura.
___
Il casting esplicito si utilizza quando l’operazione può essere pericolosa, ovvero quando
si converte un tipo di dato che occupa meno spazio in memoria verso un altro tipo di
dato più grande.
___
Per fare il casting esplicito di una variabile occorre farla precedere dal tipo di
destinazione racchiuso tra parentesi tonde.
___
Il casting tra due oggetti con legame di ereditarietà non è consentito.
___
E’ possibile effettuare il casting tra un tipo primitivo ed un oggetto.
Quali delle seguenti affermazioni sul casting sono vere?
(Segnare con una croce tutte le affermazioni che ritenete corrette)
___
Le interfacce sono classi che possono contenere solamente costanti e metodi d’istanza
___
astratti.
Per creare un’interfaccia si utilizza la parola chiave comparable.
___
Una interfaccia non può contenere né costruttori, né variabili statiche, né variabili di
istanza, né metodi statici.
___
Se una classe implementa una interfaccia, significa che contiene al suo interno una
implementazione di tutti i metodi dichiarati nell’interfaccia stessa.
___
Se una classe implementa una interfaccia, non deve avere attributi statici.
___
Il meccanismo dell’interfaccia permette di separare la fase di progettazione dalla fase
di implementazione, utile soprattutto nei progetti di medie/grandi dimensioni
Scrivere nel box sottostante quali sono le principali differenze tra un Array ed un Vector, non
tanto a livello di nome di istruzioni, quanto alle differenze concettuali.
Pag. 3 di 6
8.
Inserire la parola corretta negli spazi vuoti. Ogni parola può essere usata una, più volte o mai.
Eccezione – Dinamica – Oggetto – Pop – Tipo fondamentale –Associativa – Statica – Push
Classe Involucro – Valore – Coda – Pila – Interfaccia – Attributo – Stringa – Chiave
1) Una ___________________ serve per racchiudere un _____________________________
2) La struttura dati Vector è una struttura dati _____________________________________
3) Un _______________ può essere inserito in un Vector con il metodo ________________
4) La struttura dati Hashtable è una struttura dati ___________________________________
5) Per ogni ____________________ esiste una ____________________________________
6) Se chiamo il metodo ____________ di una __________ estraggo l’elemento inserito per 1°
7) La _______________________________________ si basa su una politica di accesso LIFO
8) L’Hashtable associa ad ogni ____________________ un __________________________
9.
10.
Quali delle seguenti affermazioni sono vere?
(Segnare con una croce tutte le affermazioni che ritenete corrette)
___
Il metodo peek() di una Stack serve per leggere l’elemento in cima alla Pila.
___
Un oggetto Enumeration permette di scorrere gli elementi contenuti in una Hashtable.
___
Il metodo Push prende come parametro l’oggetto da inserire nella Pila (o Coda)
___
Il metodo isEmpty() di una Stack (o di una Queue) restituisce false se è vuota.
___
Il metodo MoreElement() appartiene ad un oggetto Enumeration.
___
Il metodo Pop prende come parametro l’oggetto da togliere nella Pila (o Coda)
Inserire la parola corretta negli spazi lasciati vuoti:
Java.util - Java.lang - statica - Java.java - Java.date - assoluta - Java.io - dinamica Java .text - Java.data - gerarchica - Java.common - Java.random - Java.default
A)
La libreria Random, fa parte della libreria ______________________________
B)
La libreria __________________ contiene funzioni comuni del linguaggio
C)
L’organizzazione dei package ha una struttura______________________ per
l’assegnamento dei nomi in modo da evitare eventuali collisioni in caso in cui
alcuni programmatori usino lo stesso nome per differenti definizioni di classe.
D)
La libreria _________________________ non necessita di essere importata
perché è sempre disponibile di default.
E)
Le classi delle strutture dati fanno parte della libreria ___________________
F)
La libreria ______________________ è utilizzata per richiamate metodi necessari
per la formattazione di input ed output.
Pag. 4 di 6
11.
Spiegare brevemente nel box sottostante cosa sono le eccezioni e come possono essere
gestite (ovvero la sintassi dell’istruzione usata per la loro gestione…)
12.
Quali delle seguenti affermazioni relative alle eccezioni sono vere?
(Segnare con una croce tutte le affermazioni che ritenute corrette)
___
Quando viene intercettata una eccezione, il sistema risale dal metodo in cui si è
verificata tale l’eccezione verso il metodo chiamante, cercando qualcuno che sia
in grado di gestirla. .
___
L’eccezione ArrayIndexOutOfBoundException viene lanciata dal sistema
quando si tenta di accedere ad un elemento dell’array che sta fuori della
dimensione definita dell’array.
___
E’ sempre possibile trovare qualcuno che gestisce un eccezione, prima di
raggiungere il metodo main().
___
La parola chiave final viene utilizzata per indicare un blocco che deve essere
eseguito in ogni caso, sia che un’eccezione sia stata intercettata, sia che non se sia
stata lanciata nessuna.
___
Non tutte le eccezioni devono essere gestite. Alcune di queste quali ad esempio
quelle che sono sottoclassi di Error e RuntimeException devo essere tralasciate.
___
E’ possibile definire e lanciare delle eccezioni personalizzate. Per fare ciò si
utilizza l’istruzione new Exception (“ … “);
Pag. 5 di 6
13.
Inserire la parola corretta negli spazi vuoti. Ogni parola può essere usata una, più volte o mai.
Clear( ) - True - Cardinality( ) - Size( ) - Capacity( ) - False - Delete (i, j) - Set( i, j) - Front( )
A)
Quando si istanzia un oggetto BitSet i suoi elementi sono settati tutti come __________
B)
Il metodo __________________ setta come ________________ gli elementi compresi
tra i e j che appartengono ad un BitSet.
C)
Il metodo ______________ restituisce il numero di bit settati _____________ nel BitSet
D)
Il metodo_______________ restituisce il numero di elementi contenuti in un vettore
E)
Per svuotare una pila si chiama il metodo ____________________________________
F)
Il metodo _______________________ restituisce la dimensione di un vettore, mentre
il metodo ______________________ restituisce il numero elementi che il vettore in
oggetto contiene.
E)
14.
Il metodo _______________________ non esiste per nessuna struttura vista a lezione.
Scrivere un programma che legge due numeri interi da tastiera e ne stampa la somma.
public static void main(String[] args) {
}
Pag. 6 di 6
Scarica

Lezione del 21 Maggio 2007 - Prova Finale