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