ITI “G.M.Angioy” Sassari – QUARTA INFORMATICA A.S. 2016-17 24. Scheda di lavoro (OOP: classi Punto e Segmento) 03/04/2017 a) Considera la classe Segmento descritta dal modello UML in figura e completa il codice proposto. Gli attributi del segmento sono gli estremi del segmento (sono qunidi due punti) ed il nome Si specifica che il nome del segmento è dato dal nome dei suoi estremi (ad esempio segmento AB) b) Scrivi una applicazione che mostri l’utilizzo delle classi Punto e Segmento. //file segmento.java package javaapplication1; import java.lang.Math; public class Segmento { Punto E1, E2; String Nome; public Segmento(Punto A, Punto B) { //da completare } public Segmento() { } Punto Segmento nome x y e1 e2 nome Costruttori AcquisisciDati DammiDati Sposta SpostaX Costruttori NomeSegmento Lunghezza PuntoMedio public double Lunghezza() { //da completare return d; } //imposta il nome del segmento come concatenazione //dei nomi dei punti che costituisco le estremità del segmento stesso public void setNome() { //da completare } //imposta il nome del segmento assegnando il valore ricevuto in ingresso public void setNome(String n) { //da completare } //restituisce il punto medio del segmento public Punto PuntoMedio(String n) { Punto Pm = new Punto(); //da completare return Pm; } //restituisce il punto medio del segmento public Punto PuntoMedio() { Punto Pm = new Punto(); //da completare return Pm; } } // fine classe Segmento [email protected] Questo lavoro è concesso in uso secondo i termini di una Licenza Creative Commons. 50 ITI “G.M.Angioy” Sassari – QUARTA INFORMATICA A.S. 2016-17 package javaapplication1; //file Punto.java public class Punto { private String nome; private double x; private double y; public Punto() { // costruttore di default nome = "P"; } public Punto(String NomePunto, double coordX, double coordY) { nome = NomePunto; x = coordX; y = coordY; } public double getX () { return x; } public void setX (double value) { x = value; } public double getY () { return y; } public void setY (double value) { y = value; } public String getNome () { return nome; } public void setNome (String value) { nome = value; } public String DammiDati() { return "Punto " + nome + "(" + x + "," + y + ") "; } public void AcquisisciDati(String NomePunto, double coordX, double coordY) { nome = NomePunto; x = coordX; y = coordY; } public void Sposta(double sommaX, double sommaY) { x = x + sommaX; y = y + sommaY; } } // fine class punto [email protected] Questo lavoro è concesso in uso secondo i termini di una Licenza Creative Commons. 51