Programacion en c++

Solo disponible en BuenasTareas
  • Páginas : 26 (6428 palabras )
  • Descarga(s) : 0
  • Publicado : 7 de marzo de 2012
Leer documento completo
Vista previa del texto
-------------------------------------------------
Programación en C++ 
Herencia
Programación en C++/Herencia
Editores:
← Sobrecarga de Operadores | Funciones virtuales → |

Contenido  [ocultar]  * 1 Introducción * 2 INTRODUCIENDO LA HERENCIA. * 3 CONTROL DE ACCESO DE LA CLASE BASE. * 3.1 USANDO MIEMBROS PROTEGIDOS. * 3.2 USANDO PROTECTED PARA LA HERENCIA DE UNA CLASEBASE. * 3.3 REVISITANDO public, protected, y private * 3.4 HEREDANDO MULTIPLES CLASES BASE * 3.5 CONSTRUCTORES, DESTRUCTORES, Y HERENCIA * 3.6 PASANDO PARAMETROS A LOS CONSTRUCTORES DE LA CLASE BASE * 3.7 GARANTIZANDO ACCESO * 3.8 LEYENDO GRAFICOS DE HERENCIA EN c++ * 3.9 CLASES BASE VIRTUALES |
-------------------------------------------------
[editar]IntroducciónLa 'herencia' es una de las piedras angulares de la POO ya que ésta permite la creación de clasificaciones jerárquicas. Con la herencia, es posible crear una clase general que defina tratos comunes a una serie de elementos relacionados. Esta clase podría luego ser heredada por otras clases más específicas, cada una agregando solo aquellas cosas que son únicas para la clase 'heredera'.
Enterminología estándar C++, una clase que es heredada es referida como la clase 'base'. La clase que efectúa la herencia es llamada la clase 'derivada'. Además, una clase derivada puede ser usada como una clase base por otra clase derivada. De esta manera, una jerarquía multicapa de clases puede ser lograda.
-------------------------------------------------
[editar]INTRODUCIENDO LA HERENCIA.
C++soporta herencia permitiendo a una clase incorporar otra clase dentro de su declaración. Antes de discutir los detalles y la teoría, comencemos por un ejemplo de herencia. La siguiente clase, llamada vehiculo_rodante, define muy ampliamente a vehículos que viajan en la carretera. Este almacena el numero de ruedas que un vehículo tiene y el numero de pasajeros que puede llevar.
Tip: "Una clase base esheredada por una clase derivada"
class vehiculo_rodante {

int ruedas;
int pasajeros;

public:
void set_ruedas(int num) { ruedas = num;}
int get_ruedas() { return ruedas; }
void set_pasajeros(int num) { pasajeros = num; }int get_pasajeros() { return pasajeros; }

};
Puede usar esta amplia definición de un vehículo rodante para ayudar a definir tipos específicos de vehículos. Por ejemplo, el fragmento de código mostrado aqui podría usarse para ser heredado por una clase llamada 'camion'.

class camion : public vehiculo_rodante {
int carga;public:
void set_carga(int size) { carga = size; }
int get_carga() { return carga; }
void mostrar();

};
Como 'camion' hereda de 'vehiculo_rodante', 'camion' incluye todo de 'vehiculo_rodante'. Entonces agrega 'carga' a la misma, en conjunto con las funciones miembros quetrabajen sobre este dato.
Nótese como 'vehiculo_rodante' es heredado. La forma general para la herencia se muestra aquí:
class clase_derivada : acceso clase_base {
cuerpo de la nueva clase
}
Aquí, acceso es opcional. Sin embargo, si se encuentra presente, debe ser public, private, o protected. Aprenderá más sobre estas opciones más tarde, porahora para todas las clases heredadas usaremos public. Usar public significa que todos los miembros públicos de la clase base serán también miembros públicos de la clase derivada. Por tanto, en el ejemplo anterior, miembros de la clase 'camion' tienen acceso a los miembros públicos de 'vehiculo_rodante', justo como si ellos hubieran sido declarados dentro de 'camion'. Sin embargo, 'camion' no tiene...
tracking img