sábado, 30 de agosto de 2014

4.- Y ahora, creo un objeto heredado

En esta entrega vamos a crear un objeto utilizando la herencia y el polimorfismo, creando una nueva clase que va a heredar las características y las funciones de su "padre" además de añadirle las suyas propias.
Volviendo de nuevo al código "der waki", vamos a utilizar la clase vehículo de la anterior entrega para crear una clase nueva llamada camión.
Un camión como dijimos, sigue siendo un vehículo pero agregándole nuevas características; una era la capacidad de la caja y otra avanzar con reductora (para los que no sepan lo que es reductora es una caja de cambios especial que mediante ruedas dentadas como no podía ser de otro modo, obtiene potencia en perjuicio de velocidad, mas fuerza!!). Comenzamos.

Declaro Camión. Heredo de Vehículo. Nota: Herencia!!!
(comienza declaración de clase)

     Nota:  Características

     propiedad capacidad. Esto es número.

     Nota: ahora declaro los métodos
     Nota: Este método es igual que el de vehículo, ahora tenemos dos método llamados avanzar, uno el que hemos heredado de vehículo y el otro que estamos creando ahora. Solo hay que especificar cual utilizar.

      método Avanzar (¿Hasta que velocidad?)
            (comienza método)
            Nota: Polimorfismo!!!
            Requisitos. El vehículo debe estar arrancado, el vehículo no debe tener el freno de mano echado....
           Acciones.  Activar caja de cambios reductora. Llevar el coche a la velocidad del método. Envío más o menos combustible a los inyectores dependiendo de como esté pisado el acelerador y como es automático, el embrague se ha accionado y la caja de cambios engrana con otros métodos internos y ... (encapsulación), más acciones que no vemos!!
            (finaliza método)

(finaliza declaración de clase)
Ahora ya que tenemos la plantilla, vamos a crear el objeto Camión.

Crear un nuevo Vehículo como Camión que voy a llamar camión "der waki"
Nota: He hecho esto para instanciar un vehículo pero como camión, ¿para que? para que cuando inicie el método avanzar lo haga con la reductora.

la matrícula del camión der waki es 0001 AAA. Nota: Esta propiedad es heredada
el número de bastidor de camión der waki es YYYYYY. Nota: Esta propiedad es heredada
la potencia de camión der waki es 250 CV. Nota: Esta propiedad es heredada
la velocidad de camión der waki es 0 km/h. Nota: Esta propiedad es heredada
la capacidad de camión der waki es 36 metros cúbicos. Nota: Esta propiedad es solo del camión!

Ordeno al camión der waki Arrancar Motor
Ordeno al camión der waki Avanzar. Nota: Avanzará con reductora porque hemos instanciado un vehículo pero como camión, por tanto utilizará el método avanzar de camión, es decir con reductora.
Ordeno al camión der waki  Parar Motor
Bueno, pues en esta clase, hemos intentado adaptar los principios fundamentales de la programación, herencia, encapsulación y polimorfismo creando un nuevo objeto heredado y con funciones sobrescritas.

Saludos "der Waki"

PD. Tengo que hacer un inciso sobre las propiedades de una clase; cuando he declarado una propiedad, le he dicho esto es texto, esto es un número, esto es una fecha, etc... bueno, esto es un aspecto que hay que tener en cuenta, cuando declaramos las propiedades o variables de una clase, tenemos que decirle que son y que van a albergar en su interior de modo que estén preparadas, bueno realmente lo que estamos es instanciar nuevas clases y estas, tiene métodos propios del tipo que sea. Por ejemplo, si incluimos una nueva propiedad a la clase vehículo como fecha de fabricación, no sería válido ponerle el 42 de Febrero de 2014,  ya que la clase de fechas no permitiría tal aberración.

No hay comentarios:

Publicar un comentario