/**
 * Espaco < Carga
 * 
 * @author FMM
 * @version 7/2009
 */
public class Espaco extends Carga {
   
   private int m3;  // em metros cúbicos
   private double risco;
   
   public int getM3() { return m3; }
   public double getRisco() { return risco; }
   public void setM3(int nvM3) { m3 = nvM3; }
   
   public Espaco() { super(); m3 = 0; }
   
   public Espaco(Espaco esp) {
       super(esp);
       m3 = esp.getM3(); risco = esp.getRisco();
   }
   
   public Espaco(String cod, double dist, String cli, String dest, 
                 String prod, int mc, double risk) {
       super(cod, dist, cli, dest, prod); 
       m3 = mc; risco = risk; 
   }
   
   
   public double calculaPreco() {
       return getPreco(this.getClass().getSimpleName())*m3 + 
              getPrecoKm()*this.getKms();
   }
   
   public Espaco clone() { return new Espaco(this); }  
   
   public String toString() {
      StringBuilder sb = new StringBuilder(super.toString());
      sb.append("M3: " + m3 + "\n");
      sb.append("Risco: " + risco + "\n");
      return sb.toString();
   }
   
   public int hashCode() { return super.hashCode() + m3*7 + ((int) risco)*11; }


}

