viernes, 22 de mayo de 2015

19 - Tutorial de C++ en español - Herencia (Programación Orientada a Objetos)




En este capítulo del Tutorial de C++ veremos el concepto de Herencia en la Programación Orientada a Objetos.

Una de las principales propiedades de las clases es la herencia. Esta propiedad nos permite crear nuevas clases a partir de clases existentes, conservando las propiedades de la clase original y añadiendo nuevas.

Para el ejemplo crearemos una nueva clase llamada Deportista derivada de la clase Persona creada en el capítulo anterior, para ver como la clase Deportista hereda las propiedades y características de la clase Persona, además de poderle agregar mayor funcionalidad.

La clase Deportista es creada en un header .h

deportista.h

#include <iostream>
#include "persona.h"
using namespace std;

/*
Una de las principales propiedades de las clases es la herencia. Esta propiedad nos permite 
crear nuevas clases a partir de clases existentes, conservando las propiedades de la clase original 
y añadiendo nuevas.
*/

class Deportista : public Persona
{
  protected:
            string _deporte;
  public:
         Deportista(string n, string a, string deporte) : Persona(n, a){_deporte=deporte;};
         string deporte(){return _deporte;};
};


deportista.cpp

#include <iostream>
#include "deportista.h"

using namespace std;

int main(int argc, char *argv[])
{

 Deportista deportista("Raul", "Gallardo Cuadrado", "Atletismo");
 cout << "Un Deportista:" << endl;
 cout << "Nombre: " << deportista.nombre() << endl;
 cout << "Apellidos: " << deportista.apellidos() << endl;
 cout << "Deporte: " << deportista.deporte() << endl;
 deportista.color_ojos = "verdes";
 cout << "Color de los ojos: " << deportista.color_ojos << endl;

 system("PAUSE");
 return 0;
}