Quote Originariamente inviata da andbin Visualizza il messaggio
Innanzitutto se hai fatto una classe Targa, allora VeicoloImmatricolato dovrebbe usare questa ... non un String. Altrimenti che senso avrebbe la richiesta di una classe Targa?

Poi il equals sarebbe da fare un pochino meglio (per dirne una, solo il cast non va bene, dovresti comunque testare la classe).

E per finire, per il clone() ci sono comunque dei dubbi: innanzitutto bisognerebbe vedere come l'hai implementato in Veicolo (se l'hai implementato).
codice:
public class Veicolo implements Cloneable {
     
    String mod;
    int cod;
    public Veicolo()
    {};
    
    public void setModello(String mod)
    {
        this.mod = mod;
    }
    
    public void setCodice(int cod)
    {
        this.cod = cod;
    }
    
    public String getModello()
    {
        return this.mod;
    }
    
    public int getCodice()
    {
        return this.cod;
    }
    
    public String toString()
    {
        return "Veicolo[modello =" + this.mod + ";codice" + this.cod +"]";
    }
    
    public boolean equals(Object altro)
    {
        if( getClass() != altro.getClass())
            return false;
        
        Veicolo al = (Veicolo) altro;
        
        return( mod.equals(al.mod) && cod == al.cod);
    }
    
    public Veicolo clone()
    {
        
        try
        {
            return (Veicolo) super.clone();
        }
        
        catch(CloneNotSupportedException e)
        {
            return null;
        }
    }
}
la classe VeicoloImmatricolato estende Veicolo. Come faccio a dirgli di estendere pure Targa ?