Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Informe
2
CONTENIDO
Pág.
1. INTRODUCCIÓN.........................................................................................................6
2. OBJETIVOS ...................................................................................................................7
2.1 OBJETIVO GENERAL ............................................................................................. 7
2.2 OBJETIVOS ESPECÍFICOS .................................................................................... 7
4. MARCO TEÓRICO .........................................................................................................8
4.1 HERENCIA............................................................................................................... 8
4.2 SUPERCLASES Y SUBCLASES ............................................................................. 8
4.3 HERENCIA SIMPLE Y COMPUESTA ...................................................................... 9
4.4 SOBREESCRITURA DE MÉTODOS ..................................................................... 10
4.5 SOBRECARGA DE OPERADORES ...................................................................... 11
4.5 POLIMORFISMO ................................................................................................... 12
4.5 CLASES ABSTRACTAS Y MÉTODOS ABSTRACTOS ......................................... 12
CONCLUSIONES .............................................................................................................14
BIBLIOGRAFÍA.................................................................................................................15
3
LISTA DE FIGURAS
Pág.
Figura 1: Ejemplo de una superclase y subclase. ..............................................................9
Figura 2: Ejemplo de una herencia simple y una múltiple o compuesta. ............................9
4
RESUMEN
5
1. INTRODUCCIÓN
6
2. OBJETIVOS
Entender qué es la herencia, para qué se usa, como se usa y por qué se usa.
7
4. MARCO TEÓRICO
4.1 HERENCIA
Ejemplo: Suponga que desea modelar un sistema donde la clase A es una clase
padre y las clases B, C Y D son clases hijas, pero a su vez la clase D es una clase
padre para la clase E, la representación de este ejemplo sería así:
8
Figura 1: Ejemplo de una superclase y subclase.
9
4.4 SOBREESCRITURA DE MÉTODOS
Una subclase hereda todos los métodos de su superclase que son accesibles a
dicha subclase a menos que la subclase sobrescriba los métodos. Una subclase
sobrescribe un método de su superclase cuando define un método con las mismas
características (nombre, número y tipo de argumentos) que el método de la
superclase, las subclases emplean la sobreescritura de métodos la mayoría de las
veces para agregar o modificar la funcionalidad del método heredado de la clase
padre (Programación con Java, 2019).
String miOtroMetodo( )
{ ... }
}
String miOtroMetodo( )
{ ... }
}
10
4.5 SOBRECARGA DE OPERADORES
“La sobrecarga de operadores es uno de los mecanismos que nos permite ampliar
las capacidades de los lenguajes de programación orientados a objetos. En C++,
la declaración y definición de una sobrecarga de operador es muy similar a la
declaración y definición de una función cualquiera.” (WikiLibros, 2019), en cierta
forma la sobrecarga de operadores es útil a la hora de trabajar distintos valores de
un objeto con otro objeto.
Ejemplo: Suponga que desea sumar los dos atributos de una pareja A y una
pareja B usando una tercera pareja.
#include <iostream>
using namespace std;
class Pareja {
public:
double a, b;
// constructor parametrizado
Pareja(const double a,const double b)
{
this->a = a;
this->b = b;
}
};
// Sobrecarga del operador +
Pareja operator +(const Pareja &p1,const Pareja &p2)
{
Pareja res( p1.a + p2.a, p1.b + p2.b );
return res;
}
int main()
{ Pareja A(50, 75 ); Pareja B(150, 175 ); Pareja C = A + B;
cout << "A = " << A.a << ',' << A.b << "\n";
cout << "B = " << B.a << ',' << B.b << "\n";
cout << "C = " << C.a << ',' << C.b << "\n";
return 0;}
11
4.5 POLIMORFISMO
El polimorfismo en POO, se puede decir que son las distintas formas en las que se
puede presentar un objeto, es decir suponga que usted tiene un automóvil, pero
este puede ser de tipo camioneta, deportivo y demás, el polimorfismo es uno de
los pilares de POO, puesto que, permite modelar las infinitas formas que
presentan los objetos en un desarrollo de POO.
Las clases abstractas “son aquellas que por sí mismas no se pueden identificar
con algo 'concreto' (no existen como tal en el mundo real), pero sí poseen
determinadas características que son comunes en otras clases que pueden ser
creadas a partir de ellas” (InformaticaPC.com, 2019) , es decir estas responden al
principio del polimorfismo donde se ve claramente las múltiples formas en las que
se puede presentar un objeto y así programar estas, cabe destacar que estas
clases abstractas poseen métodos abstractos los cuales son:
class Abstracta
{
public:
virtual int metodo() = 0;
};
class ConcretaA : public Abstracta
{
public:
int metodo()
{
//haz algo
12
return foo () + 2;
}
};
class ConcretaB : public Abstracta
{
public:
int metodo()
{
//otra implementación
return baz () - 5;
}
};
13
CONCLUSIONES
14
BIBLIOGRAFÍA
CCM.Net . (13 de 07 de 2017). CCM.Net . Obtenido de POO - Herencia:
https://es.ccm.net/contents/411-poo-herencia
InformaticaPC.com. (27 de 07 de 2019). InformaticaPC.com. Obtenido de
Introducción a la Programación Orientada a Objetos (POO) y UML:
https://informaticapc.com/poo/clases-abstractas.php
Programación con Java. (27 de 09 de 2019). Programación con Java. Obtenido de
Sobreescritura de métodos: http://profesores.fi-
b.unam.mx/carlos/java/java_basico4_7.html
WikiLibros. (17 de 05 de 2019). WikiLibros. Obtenido de Programación en
C++/Sobrecarga de Operadores:
https://es.wikibooks.org/wiki/Programaci%C3%B3n_en_C%2B%2B/Sobreca
rga_de_Operadores
15