Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Herencia: acceder a propiedades de clases hijas

Hola, que tal? Soy novato en esto así que voy a hacer una pregunta bastante básica.

Tengo una clase (supongamos "Vehiculo") de la cual extienden varias clases (supongamos "Camion", "Barco" y "Auto"). Hay propiedades (variables) que son comunes a todos los vehiculos -por ejemplo "velocMax"- por ende se encuentran en Vehiculo y otras que son propias de cada subclase, como por ejemplo "capacidadDeCarga", "calado" o "cantDePasajeros".

Después de crear los constructores correspondientes (y los getters y setters) de cada uno, en el main yo creo varias instancias de las distintas subclases de la siguiente manera:

Vehiculo barco1 = new Barco(50, 15);
Vehiculo auto1 = new Auto(200, 2);
Vehiculo auto2 = new Auto(160, 4);
Vehiculo camion1 = new camion(130, 15000);

Esto lo pongo para ver si no estoy cometiendo ningún error acá.

El problema lo tengo cuando desde el main quiero imprimir e intento acceder a aquellas propiedades que son exclusivas de las subclases -con las comunes no tengo problema-, por ejemplo, "capacidadDeCarga". Si yo hago "camion1.getCapacidaDeCarga();" me tira un error de compilación que no me queda claro por qué se produce y no puedo acceder a dicha propiedad.

Cómo se soluciona ésto? Si alguien pudiera darme una mano estaría muy agradecido.

Saludos.

junio 1, 2017 | Registered Commenterhelmut83

Si getCapacidaDeCarga() es un método de la clase Camion, y no de Vehiculo, es normal que el compilador "proteste".

Camion camion1 = new camion(130, 15000);

Puesto que Camion hereda Vehiculo, desde su instancia camion1 también se puede acceder a los métodos de Vehiculo.

junio 1, 2017 | Registered Commenterchoces

Perfecto Choces, ahora si me anduvo bien, muchas gracias.

junio 2, 2017 | Unregistered CommenterHelmut83