Sei sulla pagina 1di 5

Verifica di Informatica

Obiettivo: Definire la struttura di una classe e implementare metodi GET/SET, costruttori e


altre funzionalità. Creare e gestire istanze della classe.

Tempo a disposizione: 100 minuti.

Definire classe SalaCinema con le seguenti proprietà, che ne definiscono la struttura:


codice;
nome;
numeroPosti.

Si richiede la creazione di
un costruttore che inizializzi tutte le variabili di istanza;
un costruttore che abbia il comportamento del costruttore di default;
un metodo get che restituisca il numero di posti;
un metodo set che modifichi il numero di posti disponibili (numeroPosti) sulla base
di un valore specificato e passato come parametro al metodo.

Successivamente, si scriva un programma eseguibile che, dato il prezzo del biglietto,


calcoli il possibile ricavo derivante da una proiezione con sala occupata al completo.

Soluzione: classe SalaCinema


Supponiamo che codice sia un intero. Le variabili nome e numeroPosti sono
rispettivamente di tipo stringa e intero.

Per prima cosa, possiamo scrivere lo scheletro della classe.

Poi pensiamo a realizzare i metodi, uno alla volta.

1
Bocchi Cinzia
20/10/09
Costruttore
Il costruttore deve inizializzare tutte la variabili di istanza, quindi sono necessari 3
parametri formali: il primo conterrà il codice, il secondo il nome e il terzo il numero di posti
della sala. Possiamo scegliere un nome qualunque per i parametri, per esempio

Io vi suggerisco di utilizzare nomi identici alle variabili di istanza della classe.

Il costruttore deve assegnare alle variabili di istanza il valore contenuto nei parametri.

! "
! "
! "

Costruttore di default
Assegna alle variabili di istanza valori di default. Di conseguenza, non necessita di
parametri.

! "#
! "
! "#

Metodo getNumeroPosti
Restituisce al chiamante il valore della variabile di istanza numeroPosti.

Metodo setNumeroPosti
Modifica il valore della variabile di istanza numeroPosti. Necessita di un parametro che
contenga il nuovo valore e non restituisce alcunchè.

! "

2
Bocchi Cinzia
20/10/09
Il codice completo della classe SalaCinema è il seguente

SalaCinema.java

! "
! "
! "

! "#
! "
! "#

! "

Soluzione: main
Il programma deve calcolare il ricavo ottenibile con la sala completa, noto il prezzo del
biglietto. Per esempio, supponiamo che la sala contenga 150 posti e che il prezzo del
biglietto sia 2 euro. Per determinate il possibile ricavo basta calcolare:

numeroPosti x prezzoBiglietto = 150 x 2 = 300 euro

Vediamo, passo passo, che cosa deve fare il main:

3
Bocchi Cinzia
20/10/09
1. Creare una istanza della classe SalaCinema, utilizzando il primo costruttore.

" $ !!!!

Per creare la sala è necessario conoscere il suo codice, il suo nome e anche il numero
di posti. Chiediamo all’utente di inserire in input questi dati, prima di creare l’oggetto
sala. Pertanto occorre scrivere:

"% ! % &' ! $% ( )
% *
" &' ! $% ( )
% *
" % ! % &' ! $% ( )
%
*
" $

I parametri passati al costruttore sono attuali poiché rappresentano i valori effettivi con
cui istanziare le variabili di istanza dell’oggetto.

2. Richiedere in input all’utente il prezzo del biglietto.

" ( ! ( &' ! $% ( )
%
*

3. Ottenere dall’oggetto creato (istanza di salaCinema) il numero di posti.

" !

4. Moltiplicare il numero di posti per il prezzo.

" +

5. Produrre in output il ricavo.

&' ! $, ( )
- ")
. .* *

Le istruzioni del passo 4 e 5 possono essere raggruppate in un’unica istruzione, come la


seguente:

&' ! $, ( )
- ")
. + .* *

la variabile diventa in tal caso superflua.

Il codice completo di UsaSalaCinema:

4
Bocchi Cinzia
20/10/09
UsaSalaCinema.java

/ 0! $ !+
1

2
3

" % ! % &' ! $% ( 4
%
4
" &' ! $% ( 4
% 4
" % ! % &' ! $% ( 4
%
4
" $
"( ! ( &' ! $% ( 4
%
4
" !
" +
&' ! $, ( 4
- "4
. .4 4

5
Bocchi Cinzia
20/10/09