domingo, 9 de marzo de 2014

HERENCIA: Constructor

Que tal programadores!!

Espero que en este dominguito estén con muchos ánimos de aprender, por eso tenemos este tema.... pero para continuar necesitamos conocer antes los siguientes temas:
Si ya tienen conocimiento sobre los temas anteriores podemos comenzar...

Este tema es muy interesante porque veremos como es que se comporta un Constructor en la Herencia:

  • Si se manda a llamar una subclase, se ejecutara lo que tenga ese constructor mas el que este ligado
  • Si se tienen 5 clases y se ejecuta la numero 5 , lo que tengan las clases anteriores, va a ser ejecutado tambien.
Para comprender mejor este tema, realizaremos el siguiente problema 


Lo que podemos notar en el diagrama es que cada uno tiene su constructor, no tienen atributos ni funciones, y podemos ver que la idea del programa es una tipo cadena alimenticia, 


  • El perro se come al gato
  • El gato se come al ratón
  • El ratón chilla
Aterricemos este diagrama con código, para esto necesitamos los siguientes pasos:
  1. Creamos las 3 clases con sus constructores no sobrecargados
  2. Heredamos ratón con gato y gato con perro, 
  3. Colocamos una impresión en pantalla de lo que realiza cada animal.
  4. Mandamos a llamar las clases una por una para ver el comportamiento de los constructores, dentro del main()
Siguiendo los pasos anteriores el código quedaría de la siguiente manera:


#include <iostream>
using namespace std;

class Perro {
  public:
      Perro()
      {   cout<<"El perro se come al gato"<<endl;   }
};
class Gato: public Perro {
   public:
       Gato()
       {   cout<<"El gato se come al raton"<<endl;   }
};
class Raton: public Gato {
    public:
       Raton ()
       {   cout<<"El raton chilla"<<endl;   }
};
int main ()
{
    cout<<"\n SE MANDO LLAMAR AL PERRO "<<endl;
    Perro();
    cout<<"\n SE MANDO LLAMAR AL GATO"<<endl;
    Gato();
    cout<<"\n SE MANDO LLAMAR AL RATON"<<endl;
    Raton();
}



Si compilamos el código, lo que nos arrojaría en la consola seria lo siguiente:






NOTAS IMPORTANTES:


  1. Como podemos notar, la forma de invocarse va por jerarquía, primero la clase padre, y luego las subclases.
  2. Podemos mandar a llamar un constructor por su nombre Ej. Perro(), debido a que son publicas, estos únicamente pueden ser públicos.

Bueno programadores hemos llegado al final de este tema.

NO DUDEN EN COMENTAR SI TIENEN DUDAS :D

Siganos en FACEBOOK Y TWITTER para que esten pendientes de nuestros siguientes temas

NOS VEMOS A LA PROXIMA !!

1 comentario:

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *