diff --git a/src/es/markse/Contenedor.java b/src/es/markse/Contenedor.java
index 0b89465337467f64b8016159e9c19fe88d39ebc3..4a3c44ec1afb126d5dc1cd6d022c779144b98efb 100644
--- a/src/es/markse/Contenedor.java
+++ b/src/es/markse/Contenedor.java
@@ -17,7 +17,7 @@ public abstract class Contenedor {
 	private float pesoTara;
 	private float maximaCargaUtil;
 	private float volumen;
-	private boolean techo;
+	protected boolean techo;
 	
 	//Seleccion del estado y de las medidas
 	public enum estados{ REGOGIDA, TRANSITO }
@@ -43,7 +43,7 @@ public abstract class Contenedor {
 	 * @param volumenSeleccionado en que medida se da el volumen
 	 * @param techo indica si tiene techo (true) o no (false)
 	 */
-	public Contenedor(ISO6346 codigo, float pesoTara, float maximaCargaUtil, float volumen, estados estadoActual, pesos pesoSeleccionado, volumenes volumenSeleccionado, boolean techo) {
+	public Contenedor(ISO6346 codigo, float pesoTara, float maximaCargaUtil, float volumen, estados estadoActual, pesos pesoSeleccionado, volumenes volumenSeleccionado) {
         if (pesoTara<=0 || maximaCargaUtil <=0 || volumen<=0)
         	throw new IllegalArgumentException("Los pesos no puedne ser menores a 0");
         this.codigo = codigo;
@@ -55,7 +55,6 @@ public abstract class Contenedor {
 		this.estadoActual = estadoActual;
 		this.pesoSeleccionado = pesoSeleccionado;
 		this.volumenSeleccionado = volumenSeleccionado;
-		this.techo = techo;
 	}
 	
 	/**
@@ -72,13 +71,6 @@ public abstract class Contenedor {
 		this.estadoActual = estados.TRANSITO;
 	}
 	
-	/**
-	 * 1.1.15 Metodo que cambia un contenedor que no tenga techo a que lo tenga, y al contrario
-	 */
-	public void alternarTecho() {
-        this.techo = !this.techo;
-    }
-	
 	/**
 	 * 1.1.16 Metodo que devuelve el volumen del contenedor en metros cubicos
 	 * @return volumen en metros cubicos
@@ -127,6 +119,7 @@ public abstract class Contenedor {
 		return precioTotal;
 	}
 	
+	
 	/******************************
 	 * EMPLEACION DE OTROS METODOS*
 	 ******************************/
@@ -162,9 +155,7 @@ public abstract class Contenedor {
 	 * Metodo que devuelve si un contenedor tiene techo
 	 * @return si tiene techo (true) o si no lo tiene (false)
 	 */
-	public boolean tieneTecho() {
-		return this.techo;
-	}
+	public abstract boolean tieneTecho();
 	
 	/**
 	 * Metodo que devuelve la maxima carga util de un contenedor
diff --git a/src/es/markse/Estandar.java b/src/es/markse/Estandar.java
index f63909c672653685f29186a9d501c8ede88c7d9f..d39ff33a023d4706714b2325aa58dd80711d5af2 100644
--- a/src/es/markse/Estandar.java
+++ b/src/es/markse/Estandar.java
@@ -4,7 +4,8 @@ public class Estandar extends Contenedor {
 
 	public Estandar(ISO6346 codigo, float pesoTara, float maximaCargaUtil, float volumen, estados estadoActual,
 			pesos pesoSeleccionado, volumenes volumenSeleccionado, boolean techo) {
-		super(codigo, pesoTara, maximaCargaUtil, volumen, estadoActual, pesoSeleccionado, volumenSeleccionado, techo);	
+		super(codigo, pesoTara, maximaCargaUtil, volumen, estadoActual, pesoSeleccionado, volumenSeleccionado);	
+		this.techo = techo;
 	}
 	@Override
 	public void anyadirTrayecto(Trayecto t) {
@@ -19,6 +20,14 @@ public class Estandar extends Contenedor {
 		}
 	
 	}
+	public void alternarTecho() {
+		this.techo=!this.techo;
+		
+	}
+	@Override
+	public boolean tieneTecho() {
+		return this.techo;
+	}
 	
 
 }
diff --git a/src/es/markse/FlatRack.java b/src/es/markse/FlatRack.java
index b8540192cec55a1d90cf7d0e9d9bd9a8191e5082..abc0fb71f8ecf8ee10925085ffacdfb273cee9c0 100644
--- a/src/es/markse/FlatRack.java
+++ b/src/es/markse/FlatRack.java
@@ -3,8 +3,9 @@ package es.markse;
 public class FlatRack extends Contenedor{
 
 	public FlatRack(ISO6346 codigo, float pesoTara, float maximaCargaUtil, float volumen, estados estadoActual,
-			pesos pesoSeleccionado, volumenes volumenSeleccionado, boolean techo) {
-		super(codigo, pesoTara, maximaCargaUtil, volumen, estadoActual, pesoSeleccionado, volumenSeleccionado, techo);
+			pesos pesoSeleccionado, volumenes volumenSeleccionado) {
+		super(codigo, pesoTara, maximaCargaUtil, volumen, estadoActual, pesoSeleccionado, volumenSeleccionado);
+		this.techo=false;
 		
 	}
 
@@ -28,6 +29,11 @@ public class FlatRack extends Contenedor{
 		
 		comprobarDatosContenedor(t);
 	}
+
+	@Override
+	public boolean tieneTecho() {
+		return false;
+	}
 		
 
 }
diff --git a/src/es/markse/Refrigerado.java b/src/es/markse/Refrigerado.java
index fbf514eca2c6602ccc49f19bd5480e5cead16c34..4b7ba033aa8d2551b9cb6a0a71abec5f90116fb6 100644
--- a/src/es/markse/Refrigerado.java
+++ b/src/es/markse/Refrigerado.java
@@ -3,8 +3,9 @@ package es.markse;
 public class Refrigerado extends Contenedor{
 
 	public Refrigerado(ISO6346 codigo, float pesoTara, float maximaCargaUtil, float volumen, estados estadoActual,
-			pesos pesoSeleccionado, volumenes volumenSeleccionado, boolean techo) {
-		super(codigo, pesoTara, maximaCargaUtil, volumen, estadoActual, pesoSeleccionado, volumenSeleccionado, techo);
+			pesos pesoSeleccionado, volumenes volumenSeleccionado) {
+		super(codigo, pesoTara, maximaCargaUtil, volumen, estadoActual, pesoSeleccionado, volumenSeleccionado);
+		this.techo=true;
 	}
 
 	@Override
@@ -28,6 +29,12 @@ public class Refrigerado extends Contenedor{
 		
 		
 	}
+
+	@Override
+	public boolean tieneTecho() {
+		// TODO Auto-generated method stub
+		return true;
+	}