Esercitazione classi in java – 1

Esercizio

Progetto UML e Classi Java

Progettare una classe di nome “Rettangolo” che contiene i dati di un rettangolo e memorizzi l’area e il perimento. Oltre ai valori dei sui lati, definire un metodo per inizializzare tali valori dei lati, un metodo per il calcolo dell’area e un metodo per il calcolo del perimentro.
Definire un metodo per la stampa dei dati memorizzati e dei metodi per leggere e impostare singolarmente i valori dei lati del rettangolo. Realizzare un diagramma UML per risolvere il problema e codificare tale diagramma in Java.,

Svolgimento

La classe è composta da 4 attributi la base, l’altezza del rettangolo, il perimento e l’area tipicamente numeri reali. All’interno della classe sono previsti dei metodi fra cui il costruttore che memorizza le misure della base e dell’altezza nella classe; i metodi “calcolaArea” e “caclola2P” rispettivamente per il calcolo dell’area e il perimetro, il metodo “Stampa” per la stampa delle caratteristiche del rettangolo e i metodi get e set per leggere e scrivere in modo individuale i lati della classe.
E’ definita la classe Test ove è svolta la prova della classe con la definizione dei valori dei lati del rettangolo o con valori costanti o con l’input dei dati da tastiera. In questo modo è istanziato un oggetto della classe e sono stampati i dati del rettangolo dopo aver memorizzato area e base dello stesso.
Gli attributi sono privati e i metodo sono pubblici. Nella classe di nome “Test” è contenuto solo il metodo “main”. I metodi per il calcolo dell’area e del perimetro sono metodi che ritornano un valore di tipo numerico reale.
Il Diagramma UML qui sotto rappresentato:

Diagramma UML della classe Rettangolo

il codice Java della classe “Rettangolo”


package com.mycompany.progettorettangolo;
public class Rettangolo {
    private float base;
    private float altezza;
    private float area;
    private float p;
    public Rettangolo(float x, float y)
    {
        this.base=x;
        this.altezza=y;
        area=0;
        p=0;
    }
    float calcoloArea()
    {
        area=base*altezza;
        return area;
    }
    float calcoloPerimentro()
    {
        p=2*base+2*altezza;
        return p;
    }
    float getBase()
    {
        return base;
    }
    void setBase(float x)
    {
        base=x;
    }
    float getAlteza()
    {
        return altezza;
    }
    void setAltezza(float x)
    {
        altezza=x;
    }
    void Stampa()
    {
        System.out.println("Area del Rettangolo :"+area);
        System.out.println("Periemtro del Rettangolo :"+p);
    }
}

e ll codice Java della classe “Test”.


package com.mycompany.progettorettangolo;
import java.util.Scanner;

public class Test {
      public static void main(String[] args) {
        float a=10;
        float b=20;
        /*Rettangolo r=new Rettangolo(b,a);
        float ar=r.calcoloArea();
        float p2=r.calcoloPerimentro();
        r.Stampa();*/
        Scanner sc=new Scanner(System.in);
        System.out.println("Inserisci la base:");
        b=sc.nextFloat();
        System.out.println("Inserisci l'altezza:");
        a=sc.nextFloat();
        Rettangolo r=new Rettangolo(b,a);
        float ar=r.calcoloArea();
        float p2=r.calcoloPerimentro();
        r.Stampa();
    }
}

Video della Lezione