Scheda 24: OOP (classi Punto e Segmento)

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