Parlando di codice scritto, quale è la differenza fra queste 3 relazioni uml?
Se io ad esempio ho questo UML
fb.jpg
vanno bene le classi implementate così?
Classe Persona
codice:
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package progetto.visioneCompleta;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Persona {
private int id;
private String nomePersona;
private String cognomePersona;
private Indirizzo indirizzo;
private List<Auto> auto;
public Persona() {
}
public Persona(String nomePersona, String cognomePersona, Indirizzo indirizzo) {
this.nomePersona = nomePersona;
this.cognomePersona = cognomePersona;
this.indirizzo = indirizzo;
auto = new ArrayList<Auto>();
}
public void addAuto(Auto auto){
this.auto.add(auto);
}
public void getAuto(){
Iterator it = auto.iterator();
while(it.hasNext()){
Auto auto = (Auto) it.next();
System.out.println(auto.toString());
}
}
public int getId() {
return id;
}
private void setId(int id) {
this.id = id;
}
public String getNomePersona() {
return nomePersona;
}
public void setNomePersona(String nomePersona) {
this.nomePersona = nomePersona;
}
public String getCognomePersona() {
return cognomePersona;
}
public void setCognomePersona(String cognomePersona) {
this.cognomePersona = cognomePersona;
}
public Indirizzo getIndirizzo() {
return indirizzo;
}
public void setIndirizzo(Indirizzo indirizzo) {
this.indirizzo = indirizzo;
}
}
Classe Indirizzo
codice:
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package progetto.visioneCompleta;
/**
*
* @author phate
*/
public class Indirizzo {
private int cap;
private String via;
private String citta;
public Indirizzo() {
}
public Indirizzo(int cap, String via, String citta) {
this.cap = cap;
this.via = via;
this.citta = citta;
}
public int getCap() {
return cap;
}
public void setCap(int cap) {
this.cap = cap;
}
public String getVia() {
return via;
}
public void setVia(String via) {
this.via = via;
}
public String getCitta() {
return citta;
}
public void setCitta(String citta) {
this.citta = citta;
}
}
Classe Auto
codice:
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package progetto.visioneCompleta;
public class Auto {
private String marca;
public Auto() {
}
public Auto(String marca) {
this.marca = marca;
}
public String getMarca() {
return marca;
}
public void setMarca(String marca) {
this.marca = marca;
}
@Override
public String toString() {
return "Auto{" + "marca=" + marca + '}';
}
}
Grazie mille a tutti