Macchina
Progettare e realizzare una classe che modella una macchina.
Le funzioni che vogliamo considerare sono molto semplici:
Questo implica che abbiamo individuato i metodi della nostra classe che ne regolano il comportamento:Macchina miaMarea = new Macchina(); miaMarea.aggiungiGas (30); miaMarea.percorri (50); System.out.println (miaMarea.livello());
Lo stato di ciascuna macchina può essere descritta da una variabile d'istanza/** Aggiunge carburante al serbatoio. @param ammontare la quantità di carburante aggiunta */ public void aggiungiGas (double ammontare) { // corpo del metodo } /** Ispeziona il livello del carburante. @return la quantità di carburante */ public double livello () { // corpo del metodo in seguito } gas che definiremo con accesso private in modo che solo
i costruttori e i metodi della classe possano accedervi.
Il costruttore di un oggetto della classe potrà inizializzare a 0
la variabile d'istanza gas , come segue:
È anche ragionevole poter disporre di un costruttore con un parametro che indichi la quantitità di carburante da aggiungere inizialmente al serbatoio, e quindi possiamo anche definire un secondo costruttore:Macchina () { gas = 0; } La nostra classeContoBancario (double gasIniziale) { gas = gasIniziale; } Macchina sarà
quindi definita dal codice:
Definiamo ora i metodipublic class Macchina { private double gas; private double consumo; public Macchina (double un_consumo) { gas = 0; consumo = un_consumo; } // metodi } aggiungiGas , percorri , livello .
Il campo gas è stato dichiarato private e solo
i metodi aggiungiGas e percorri potranno modificarne il valore,
mentre il metodo livello potrà leggerne il valore attuale. Il metodo
percorri inoltre consuma carburante in funzione della distanza percorsa
ma anche in funzione del consumo della particolare macchina.
Questa informazione non è nota a priori e quindi
deve essere assegnata al singolo oggetto alla sua creazione.
Per effettuare una prova della classe |
![]() |
La classe Macchina Copyright © 2005. Alberti. DICo, Università degli Studi di Milano. |
![]() |
![]() |