Archivio Posts |
Anno 2014
Anno 2013
Anno 2012
|
Statistiche |
- Views Home Page: 73.755
- Views Posts: 551.360
- Views Gallerie: 0
- n° Posts: 210
- n° Commenti: 224
|
|
JAVA - Esercizio n.1 di Programmazione Orientata agli Oggetti (POO)
JAVA - Esercizio n.1 di Programmazione Orientata agli Oggetti (POO)
Esercizio per il corso di Programmazione Orientata agli Oggetti (POO) , Uni Roma Tre . L'obbiettivo dell'esercizio traslare contemporaneamente forme diverse esempio : Cerchio, Punto, Rettangolo .
CODICE JAVA : (File : GruppoDiForme.java ) public class GruppoDiForme implements Forma{
private Forma[] forme;
private int numeroForme;
public GruppoDiForme(){
this.numeroForme = 0;
this.forme = new Forma[10];
}
public void aggiungiForma(Forma forma){
this.forme[numeroForme] = forma;
this.numeroForme++;
}
public void Trasla(int deltaX, int deltaY){
for(int i =0;i<this.numeroForme; i++){
this.forme[i].Trasla(deltaX, deltaY);
}
};
} CODICE JAVA : (File : Forma.java ) public interface Forma {
public void Trasla(int deltaX, int deltaY);
}
CODICE JAVA : (File : Punto.java ) public class Punto implements Forma {
private int x;
private int y;
public Punto(int x,int y){
this.x = x;
this.y = y;
}
public int getX() {
return this.x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return this.y;
}
public void setY(int y) {
this.y = y;
}
public void Trasla(int deltaX, int deltaY){
this.x = this.x + deltaX;
this.y = this.y + deltaY;
};
}
CODICE JAVA : (File : Cerchio.java ) public class Cerchio implements Forma{
private Punto centro;
private int raggio;
public Cerchio(Punto centro,int raggio){
this.centro = new Punto(centro.getX(), centro.getY());
this.raggio = raggio;
}
public Punto getCentro() {
return this.centro;
}
public void setCentro(Punto centro) {
this.centro = centro;
}
public int getRaggio() {
return this.raggio;
}
public void setRaggio(int raggio) {
this.raggio = raggio;
}
public void Trasla(int deltaX, int deltaY){
this.centro.setX(this.centro.getX() + deltaX);
this.centro.setY(this.centro.getY() + deltaY);
};
}
CODICE JAVA : (File : Rettangolo.java )public class Rettangolo implements Forma{
private Punto vertice;
private int altezza;
private int base;
public Rettangolo(Punto vertice, int altezza, int base ){
this.vertice = new Punto(vertice.getX(), vertice.getY());
this.base = base;
this.altezza = altezza;
}
public Punto getVertice() {
return this.vertice;
}
public void setVertice(Punto vertice) {
this.vertice = vertice;
}
public int getAltezza() {
return this.altezza;
}
public void setAltezza(int altezza) {
this.altezza = altezza;
}
public int getBase() {
return this.base;
}
public void setBase(int base) {
this.base = base;
}
public void Trasla(int deltaX, int deltaY){
this.vertice.setX(this.vertice.getX() + deltaX);
this.vertice.setY(this.vertice.getY() + deltaY);
};
} CODICE JAVA : (File : GruppoDiFormeTest.java - La classe Test per verificare che tutto funzioni correttamente )import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Test;
public class GruppoDiFormeTest {
private Punto origine;
private Punto p1;
private Cerchio c1;
private Cerchio c2;
private Rettangolo r1;
private GruppoDiForme gruppoSemplice;
private GruppoDiForme gruppoComposto;
@Before
public void setUp() throws Exception{
this.origine = new Punto(0,0);
this.p1 = new Punto(2,3);
this.c1 = new Cerchio(origine,1);
this.r1 = new Rettangolo(p1,3,4);
this.gruppoSemplice = new GruppoDiForme();
this.gruppoSemplice.aggiungiForma(c1);
this.gruppoSemplice.aggiungiForma(r1);
this.gruppoSemplice.aggiungiForma(p1);
this.gruppoSemplice.aggiungiForma(origine);
this.c2 = new Cerchio(p1,4);
this.gruppoComposto = new GruppoDiForme();
this.gruppoComposto.aggiungiForma(c2);
this.gruppoComposto.aggiungiForma(gruppoSemplice);
}
@Test
public void testTrasla_gruppoSemplice() {
this.gruppoSemplice.Trasla(1, 1);
assertEquals(this.c1.getCentro().getX(),1);
assertEquals(this.c1.getCentro().getY(),1);
assertEquals(this.c1.getRaggio(),1);
assertEquals(this.r1.getVertice().getX(),3);
assertEquals(this.r1.getVertice().getY(),4);
assertEquals(this.r1.getAltezza(),3);
assertEquals(this.r1.getBase(),4);
assertEquals(this.origine.getX(),1);
assertEquals(this.origine.getY(),1);
assertEquals(this.p1.getX(),3);
assertEquals(this.p1.getY(),4);
}
@Test
public void testTrasla_gruppoComposto() {
this.gruppoComposto.Trasla(1, 1);
assertEquals(this.c1.getCentro().getX(),1);
assertEquals(this.c1.getCentro().getY(),1);
assertEquals(this.c1.getRaggio(),1);
assertEquals(this.r1.getVertice().getX(),3);
assertEquals(this.r1.getVertice().getY(),4);
assertEquals(this.r1.getAltezza(),3);
assertEquals(this.r1.getBase(),4);
assertEquals(this.origine.getX(),1);
assertEquals(this.origine.getY(),1);
assertEquals(this.p1.getX(),3);
assertEquals(this.p1.getY(),4);
assertEquals(this.c2.getCentro().getX(),3);
assertEquals(this.c2.getCentro().getY(),4);
assertEquals(this.c2.getRaggio(),4);
}
}
By ImaginSystems & Queen Gin
domenica, 14 apr 2013 Ore. 23.48
|
|