Classe Pacco in Java

Altro esercizio semplice per comprendere l'uso delle classi in Java. Questa volta vediamo una classe per gestire pacchi.

Scrivere la classe Pacco avente gli attributi base, altezza e profondità: tre numeri decimali, e l’attributo numero di tipo numero intero che identifica il pacco. Il costruttore ha come parametri tre numeri decimali (coerente con la scelta fatta per gli attributi base altezza e profondità) ed assegna il valore dei parametri agli attributi base, altezza e profondità. Scrivere il metodo setNumero che ha come parametro una variabile di tipo numero intero, tale metodo assegna il valore del parametro all’attributo numero. Scrivere il metodo volume che restituisce il valore del volume del pacco (prodotto dei tre attributi base, altezza e profondità).  
Aggiungere in più l’attributo colore di tipo stringa. Creare i seguenti metodi: −  il metodo setColore che ha un parametro  di tipo stringa, il metodo assegna all’attributo colore il valore del parametro −  il metodo stampa che stampa a video i valori degli attributi. −  Il metodo stampaVolume che stampa a video il valore del volume utilizzando il metodo volume.

/** 
Scrivere la classe Pacco avente i seguenti attributi base, altezza e profondità: tre numeri con la virgola rispettivamente la base,l’altezza e la profondità del pacco, e l’attributo numero di tipo numero intero che identifica il pacco. Il costruttore ha come parametri tre numeri con la virgola (coerente con la scelta fatta per gli attributi base altezza e profondità) ed assegna il valore dei parametri agli attributi base, altezza e profondità. Scrivere il metodo setNumero che ha come parametro una variabile di tipo numero intero, tale metodo assegna il valore del parametro all’attributo numero. Scrivere il metodo volume che restituisce il valore del volume del pacco  (prodotto dei tre attributi base, altezza e profondità).  
Aggiungere in più l’attributo colore di tipo stringa. Creare i seguenti metodi: −  il metodo setColore che ha un parametro  di tipo stringa, il metodo assegna all’attributo colore il valore del parametro −  il metodo stampa che stampa a video i valori degli attributi. −  Il metodo stampaVolume che stampa a video il valore del volume utilizzando il metodo volume
*/
public class Pacco
{
  private double base;
  private double altezza; 
  private double profondita;
  private int numero;
  private String colore;

  // COSTRUTTORI
  public Pacco()
  {
    this.base = 0;
    this.altezza = 0;
    this.profondita = 0;
    this.numero = 0;
    this.colore = "#000000";
  }

  public Pacco(double _base, double _altezza, double _profondita)
  {
    this.base = _base;
    this.altezza = _altezza;
    this.profondita = _profondita;
    this.numero = 0;
    this.colore = "#000000";
  }  

  public Pacco(double _base, double _altezza, double _profondita, int _numero, String _colore)
  {
    this.base = _base;
    this.altezza = _altezza;
    this.profondita = _profondita;
    this.numero = _numero;
    this.colore = _colore;
  }  

  //METODI SET
  public void setNumero(int _numero)
  {
    this.numero = _numero; 
  }

  public void setColore(String _colore)
  {
    this.colore = _colore; 
  }

  public void setBase(double _base)
  {
    this.base = _base;
  }

  public void getAltezza(double _altezza)
  {
     this.altezza = _altezza; 
  }

  public void getProfondita(double _profondita)
  {
    this.profondita = _profondita;
  }

  //METODI GET
  public int getNumero()
  {
    return this.numero; 
  }

  public String getColore()
  {
    return this.colore; 
  }

  public double getBase()
  {
    return this.base;
  }

  public double getAltezza()
  {
     return this.altezza; 
  }

  public double getProfondita()
  {
    return this.profondita;
  }


  //METODI
  public double volume()
  {
    return this.base * this.altezza * this.profondita;
  }

  public void stampaVolume()
  {
    System.out.println("Volume= " + this.volume());    
  }

  public void stampa()
  {
    System.out.println("ID: " + this.numero);
    System.out.println("Base: " + this.base);
    System.out.println("Altezza: " + this.altezza);
    System.out.println("Profondità: " + this.profondita);
    System.out.println("Colore: " + this.colore);
  }
}

 

Scrivere la classe Prova che ha il metodo main in cui occorre istanziare un oggetto di tipo Pacco con base 3,5 altezza 4,5 e profondità 6,0. Richiamare il metodo setNumero con parametro pari a 3 e stampare il valore del volume del pacco richiamando opportunamente il metodo volume. Istanziare un altro oggetto di tipo Pacco con base 2,4 altezza 5,3 profondità 5,5 e richiamare il metodo setColore con colore rosso. Infine richiamare il metodo stampaVolume per stampare il volume del pacco a colori.