SlideShare una empresa de Scribd logo
HERENCIA Y
POLIMORFISMO.
Polimorfismo
• Una de las características más importantes de la
programación orientada a objetos es la capacidad de
que diferentes objetos responden a órdenes similares
de modo diferentes.
• Identificador de mensaje y operadores sobrecargados.
El identificador de mensaje y operador invocan una
operación específica sobre un objeto. Cada uno
establece la selección del significado uniforme de la
operación en particular que se desea realizar.
• En términos generales, Polimorfismo se define
como la calidad o estado de ser capaz de asumir
formas diferentes.
• En la solución de un problema orientado a objetos,
polimorfismo puede aplicarse a cualquier objetos en
una operación, o función.
• (En la POO) el polimorfismo se refiere al hecho de
que una misma operación puede tener diferente
comportamiento en diferentes objetos. En otras
palabras, diferentes objetos reaccionan al mismo
mensaje de manera diferente.
Polimorfismo
Polimorfismo
(Ejemplo Sobrecarga)
class complejo //Nombre de la clase
{
public :
complejo( double = 0.0, double = 0.0 ); //Constructor
complejo operator + ( const complejo & ) const; //Sobrecarga
private:
double real, imaginario; };
complejo::complejo( double a, double b ) // Constructor de la clase
{ real = a; imaginario = b; }
complejo complejo::operator + (const complejo &a) const
{ complejo c; //Define un objeto complejo
c.real = real + a.real; //Define de la operación llevada a cabo por el operador
c.imaginario = imaginario+a.imaginario;
return c; //Retorno del valor adquirido }
La Sobrecarga De Operadores Es Un
Ejemplo Muy Claro de Polimorfismo.
Donde se sobrecarga el operador es
donde se aplica el polimorfismo.
• En términos generales, La herencia es el acto de adquirir una
posesión, condición, o característica de generaciones
pasadas.
• En la solución de un problema orientado a objetos un tipo de
objeto hereda propiedades que caracterizan otro tipo de
objeto.
• Las propiedades de los objetos son dadas por la descripción
de la clase, esto implica una jerarquía de clases, donde una
clase es una subclase de otra.
• Los objetos que son los instancias de las subclases tienen
propiedades dadas dentro de la descripción de la subclase
así como también propiedades heredadas dadas dentro de la
clase padre y todas las clases antecesoras.
Herencia
De la que se
hereda
La que hereda
Superclase Subclase
Clase Padre Clase hijo
Clase Base Clase Derivada
• La herencia se apoya en el significado de ese concepto en la vida
diaria.
• Así, las clases básicas (base class) o fundamentales se dividen en
subclases (derived class).
Terminología
• Una clase utilizada para derivar nuevas clases se conoce como clase
base (padre, ascendiente), y una clase creada de otra clase se llama
clase derivada (hija, descendiente, subclase).
• En un lenguaje Orientado a Objetos la herencia se manifiesta con la
creación de un tipo definido por el usuario, que puede heredar las
características de otra clase ya existente o derivar las suyas a otra nueva
clase.
• Cuando se hereda, las clases derivadas reciben las características
(estructuras de datos y funciones) de la clase original , a las que se
pueden añadir nuevas características o modificar las características
heredadas.
• La herencia se aplica para extender y reutilizar el código existente:
• Los objetos se pueden construir de modo incremental a partir de
otros objetos y pueden compartir código y estructuras de datos
• Los algoritmos generales se pueden escribir de modo que se pueden
reutilizar para nuevos tipos de objetos, incluso después que los
algoritmos originales se han compilado.
Conceptualización
• Es la propiedad que permite a los objetos construirse a partir de
otros objetos. Este principio consiste en que cada clase puede
dividirse en subclases.
• Las instancias heredan (usualmente) todas, y únicamente, las
características de las clases a las que pertenecen, pero, también,
es posible, en un sistema orientado a objetos, que se permita
que las clases hereden características de superclases más
generales.
• En ese caso, las características heredadas pueden ser ignoradas
(overriden) y se pueden agregar características adicionales para
tratar excepciones.
Herencia
• De esta forma la herencia provee la potencialidad para construir
soluciones nuevas a problemas agregando el incremento de la
capacidad a soluciones existentes del problema mediante subclases.
• Las instancias de una subclase representan una especialización de
instancias descritas por una clase padre.
• La instancia de la subclase tiene todos los atributos dados por la
clase padre, más los atributos adicionales o agregados de la
subclase.
• La instancia de la subclase responde al mismo conjunto de
mensajes dados en la clase padre, los mensajes adicionales se dan
en la descripción de la subclase.
Herencia
• Se realiza tomando una clase existente y derivando nuevas clases
de ella.
• La clase derivada hereda las estructuras de datos y funciones de
la clase original, Además, se pueden añadir nuevos miembros a
las clases derivadas y los miembros heredados pueden ser
modificados.
• Una clase utilizada para derivar nuevas clases se denomina clase
base (padre, superclase, ascendiente).
• Una clase creada de otra clase se denomina clase derivada o
subclase. A su vez una clase derivada puede ser utilizada como
una clase base para derivar más clases.
• Por consiguiente, se pueden construir jerarquías de clases, en las
que cada clase sirve como padre o raíz de una nueva clase.
Herencia Simple
Ejemplo De Herencia Simple
class Barco {
protected: char* nombre; float peso;
public: //Constructores y demás funciones básicas de barco };
class Carguero: public Barco // Esta es la manera de especificar que hereda de Barco.
{
private: float carga; //faltaría el resto de cosas };
class Acorazado: public Barco
{
private: int numeroArmas; int Soldados;
// El resto de cosas };
Herencia Múltiple
Es aquella en la cual una clase derivada tiene más
de una clase base. Aunque el concepto de
herencia múltiple es muy útil, el diseño de clases
suele ser más complejo, y en ocasiones es
preferible realizar la aplicación con herencia
múltiple mediante emulación de herencia simple.
Ejemplo de Herencia Múltiple
Si una clase recibe propiedades de más de una clase base, la
herencia es múltiple.
Características A
Características B
Características A
Características B
Características C
Características D
Características E
Características A
Características B
Características C
Funciones virtual
• Diseñar e implementar sistemas que sean
extensible más fácilmente
• Programas escritos para procesar todos los
objetos de clases existentes genéricamente
en una jerarquía
Suponga un conjunto de superficies tales como Circle, Triangle, etc.
Cada superficie tiene su propia función para dibujarse, pero es posible
llamarlas a ella invocando solamente la función draw de la clase base
Shape, el compilador determina dinámicamente (en tiempo de ejecución)
a cual llamar.
En la clase base se declara a draw como virtual.
Se sobrescribe draw en cada clase derivada,
Declaración virtual
La palabra reservada virtual antes del prototipo de la función:
virtual void draw() const;
Un puntero de la clase base a un objeto de la clase derivada, llamará la
función draw correctamente,
Shape->draw();
Funciones virtual

Más contenido relacionado

La actualidad más candente

Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)
Josue Lara Reyes
 
Programación Orientada a Objetos en JAVA
Programación Orientada a Objetos en JAVAProgramación Orientada a Objetos en JAVA
Programación Orientada a Objetos en JAVA
Michelle Torres
 
Constructor and destructor in oop
Constructor and destructor in oop Constructor and destructor in oop
Constructor and destructor in oop
Samad Qazi
 
Programacion Orientada A Objetos
Programacion Orientada A ObjetosProgramacion Orientada A Objetos
Programacion Orientada A Objetos
guest160f88
 
9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos
Clara Patricia Avella Ibañez
 
Analisis Y DiseñO Orientado Objetos
Analisis Y DiseñO Orientado ObjetosAnalisis Y DiseñO Orientado Objetos
Analisis Y DiseñO Orientado Objetos
Eliecer Suarez
 
Principles and advantages of oop ppt
Principles and advantages of oop pptPrinciples and advantages of oop ppt
Principles and advantages of oop ppt
daxesh chauhan
 
Object Oriented Programming Using C++
Object Oriented Programming Using C++Object Oriented Programming Using C++
Object Oriented Programming Using C++
Muhammad Waqas
 
Herencia y Polimorfismo
Herencia y PolimorfismoHerencia y Polimorfismo
Herencia y Polimorfismo
nestor_moren
 
Conceptos basicos POO
Conceptos basicos POOConceptos basicos POO
Conceptos basicos POO
Uniminuto - San Francisco
 
Chapter 07 inheritance
Chapter 07 inheritanceChapter 07 inheritance
Chapter 07 inheritance
Praveen M Jigajinni
 
Exposición Diagrama de Clases
Exposición Diagrama de ClasesExposición Diagrama de Clases
Exposición Diagrama de Clases
Universidad Técnica del Norte
 
Programación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismoProgramación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismo
Alvaro Enrique Ruano
 
8b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 18b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 1
Clara Patricia Avella Ibañez
 
PROGRAMACION ORIENTADA A OBJETOS
PROGRAMACION ORIENTADA A OBJETOSPROGRAMACION ORIENTADA A OBJETOS
PROGRAMACION ORIENTADA A OBJETOSAbraham Morales
 
OOP-1.pptx
OOP-1.pptxOOP-1.pptx
OOP-1.pptx
iansebuabeh
 
Elementos caracteristicos de la poo
Elementos caracteristicos de la pooElementos caracteristicos de la poo
Elementos caracteristicos de la poo
Magda Fernandez
 
Funciones en C++
Funciones en C++Funciones en C++
Funciones en C++
ANDRES FELIPE CRUZ ERAZO
 
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetosyoiner santiago
 

La actualidad más candente (20)

Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)
 
Programación Orientada a Objetos en JAVA
Programación Orientada a Objetos en JAVAProgramación Orientada a Objetos en JAVA
Programación Orientada a Objetos en JAVA
 
Constructor and destructor in oop
Constructor and destructor in oop Constructor and destructor in oop
Constructor and destructor in oop
 
Programacion Orientada A Objetos
Programacion Orientada A ObjetosProgramacion Orientada A Objetos
Programacion Orientada A Objetos
 
9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos
 
Analisis Y DiseñO Orientado Objetos
Analisis Y DiseñO Orientado ObjetosAnalisis Y DiseñO Orientado Objetos
Analisis Y DiseñO Orientado Objetos
 
Principles and advantages of oop ppt
Principles and advantages of oop pptPrinciples and advantages of oop ppt
Principles and advantages of oop ppt
 
Object Oriented Programming Using C++
Object Oriented Programming Using C++Object Oriented Programming Using C++
Object Oriented Programming Using C++
 
Herencia y Polimorfismo
Herencia y PolimorfismoHerencia y Polimorfismo
Herencia y Polimorfismo
 
Conceptos basicos POO
Conceptos basicos POOConceptos basicos POO
Conceptos basicos POO
 
Chapter 07 inheritance
Chapter 07 inheritanceChapter 07 inheritance
Chapter 07 inheritance
 
Exposición Diagrama de Clases
Exposición Diagrama de ClasesExposición Diagrama de Clases
Exposición Diagrama de Clases
 
Programación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismoProgramación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismo
 
8b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 18b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 1
 
PROGRAMACION ORIENTADA A OBJETOS
PROGRAMACION ORIENTADA A OBJETOSPROGRAMACION ORIENTADA A OBJETOS
PROGRAMACION ORIENTADA A OBJETOS
 
OOP-1.pptx
OOP-1.pptxOOP-1.pptx
OOP-1.pptx
 
Elementos caracteristicos de la poo
Elementos caracteristicos de la pooElementos caracteristicos de la poo
Elementos caracteristicos de la poo
 
Funciones en C++
Funciones en C++Funciones en C++
Funciones en C++
 
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetos
 
10.Polimorfismo Java
10.Polimorfismo Java10.Polimorfismo Java
10.Polimorfismo Java
 

Destacado

Programacion Orientada a Objetos IE
Programacion Orientada a Objetos IEProgramacion Orientada a Objetos IE
Programacion Orientada a Objetos IE
Karen Olan
 
3 poo abstraccion modula..herencia
3 poo abstraccion modula..herencia3 poo abstraccion modula..herencia
3 poo abstraccion modula..herenciaPedro Alvarez
 
Genetica polomorfismos-1
Genetica polomorfismos-1Genetica polomorfismos-1
Genetica polomorfismos-1willy5121
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetosjent46
 

Destacado (8)

Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
 
Odmg
OdmgOdmg
Odmg
 
ODMG
ODMGODMG
ODMG
 
Programacion Orientada a Objetos IE
Programacion Orientada a Objetos IEProgramacion Orientada a Objetos IE
Programacion Orientada a Objetos IE
 
Conceptos poo (presentación1)
Conceptos poo (presentación1)Conceptos poo (presentación1)
Conceptos poo (presentación1)
 
3 poo abstraccion modula..herencia
3 poo abstraccion modula..herencia3 poo abstraccion modula..herencia
3 poo abstraccion modula..herencia
 
Genetica polomorfismos-1
Genetica polomorfismos-1Genetica polomorfismos-1
Genetica polomorfismos-1
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetos
 

Similar a Herencia y polimorfismo

Poo 3 herencia
Poo 3 herenciaPoo 3 herencia
Poo 3 herencia
jlmanmons
 
_Herencia_Polimorfismo_Polimorfismo.pptx
_Herencia_Polimorfismo_Polimorfismo.pptx_Herencia_Polimorfismo_Polimorfismo.pptx
_Herencia_Polimorfismo_Polimorfismo.pptx
FabianAndresNuezPinz
 
Lenguaje de Programación Orientada a Objetos
Lenguaje  de  Programación  Orientada  a Objetos Lenguaje  de  Programación  Orientada  a Objetos
Lenguaje de Programación Orientada a Objetos
Marielena Lujano
 
Programaciom avanzada orientada a objetos
Programaciom avanzada orientada a objetosProgramaciom avanzada orientada a objetos
Programaciom avanzada orientada a objetos
Jonathan Macías
 
POO con PHP
POO con PHPPOO con PHP
POO con PHP
vinceq
 
Herencia informatica
Herencia informaticaHerencia informatica
Herencia informatica
Edsel Barbosa González
 
Historia java ruben rodriguez
Historia java ruben rodriguezHistoria java ruben rodriguez
Historia java ruben rodriguezcoruniversitec
 
Herencia en C++
Herencia en C++Herencia en C++
Herencia en C++
joel1386
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
Zamantha Gonzalez Universidad Nacional Abierta
 
Historia java ruben
Historia java rubenHistoria java ruben
Historia java ruben
coruniversitec
 
C3 las clases en java v2
C3 las clases en java v2C3 las clases en java v2
C3 las clases en java v2Mariano Galvez
 
Guía Herencia PO_O
Guía Herencia PO_OGuía Herencia PO_O
Guía Herencia PO_O
lissette_torrealba
 
Analisis orientado a objetos
Analisis orientado a objetosAnalisis orientado a objetos
Analisis orientado a objetos
vilma pilco
 
Memch clases lep ii
Memch   clases lep iiMemch   clases lep ii
Memch clases lep iidani Safres
 
PROGRAMACION_ORIENTADA_A_OBJETOS.pdf
PROGRAMACION_ORIENTADA_A_OBJETOS.pdfPROGRAMACION_ORIENTADA_A_OBJETOS.pdf
PROGRAMACION_ORIENTADA_A_OBJETOS.pdf
MariaTeresaGarznPrez
 
Herencia
HerenciaHerencia
Herencia
ella montes
 
METODOS HEREDADOS EN LA PROGRAMACION .pptx
METODOS HEREDADOS EN LA PROGRAMACION .pptxMETODOS HEREDADOS EN LA PROGRAMACION .pptx
METODOS HEREDADOS EN LA PROGRAMACION .pptx
juan gonzalez
 

Similar a Herencia y polimorfismo (20)

Poo 3 herencia
Poo 3 herenciaPoo 3 herencia
Poo 3 herencia
 
_Herencia_Polimorfismo_Polimorfismo.pptx
_Herencia_Polimorfismo_Polimorfismo.pptx_Herencia_Polimorfismo_Polimorfismo.pptx
_Herencia_Polimorfismo_Polimorfismo.pptx
 
Lenguaje de Programación Orientada a Objetos
Lenguaje  de  Programación  Orientada  a Objetos Lenguaje  de  Programación  Orientada  a Objetos
Lenguaje de Programación Orientada a Objetos
 
Programaciom avanzada orientada a objetos
Programaciom avanzada orientada a objetosProgramaciom avanzada orientada a objetos
Programaciom avanzada orientada a objetos
 
POO con PHP
POO con PHPPOO con PHP
POO con PHP
 
Herencia informatica
Herencia informaticaHerencia informatica
Herencia informatica
 
Historia java ruben rodriguez
Historia java ruben rodriguezHistoria java ruben rodriguez
Historia java ruben rodriguez
 
Herencia en C++
Herencia en C++Herencia en C++
Herencia en C++
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Historia java ruben
Historia java rubenHistoria java ruben
Historia java ruben
 
C3 las clases en java v2
C3 las clases en java v2C3 las clases en java v2
C3 las clases en java v2
 
Guía Herencia PO_O
Guía Herencia PO_OGuía Herencia PO_O
Guía Herencia PO_O
 
Analisis orientado a objetos
Analisis orientado a objetosAnalisis orientado a objetos
Analisis orientado a objetos
 
Memch clases lep ii
Memch   clases lep iiMemch   clases lep ii
Memch clases lep ii
 
PROGRAMACION_ORIENTADA_A_OBJETOS.pdf
PROGRAMACION_ORIENTADA_A_OBJETOS.pdfPROGRAMACION_ORIENTADA_A_OBJETOS.pdf
PROGRAMACION_ORIENTADA_A_OBJETOS.pdf
 
Clasesyobjetos
ClasesyobjetosClasesyobjetos
Clasesyobjetos
 
Herencia
HerenciaHerencia
Herencia
 
Aprendiendo objetos en c++
Aprendiendo objetos en c++Aprendiendo objetos en c++
Aprendiendo objetos en c++
 
METODOS HEREDADOS EN LA PROGRAMACION .pptx
METODOS HEREDADOS EN LA PROGRAMACION .pptxMETODOS HEREDADOS EN LA PROGRAMACION .pptx
METODOS HEREDADOS EN LA PROGRAMACION .pptx
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 

Más de Gloria Isabel Bautista Lasprilla

Herencia y polimorfismo
Herencia y polimorfismoHerencia y polimorfismo
Herencia y polimorfismo
Gloria Isabel Bautista Lasprilla
 
Complejidad computacional 1
Complejidad computacional 1Complejidad computacional 1
Complejidad computacional 1
Gloria Isabel Bautista Lasprilla
 
Profesora Asociada Facultad de Ingeniería UTB
Profesora Asociada Facultad de Ingeniería UTBProfesora Asociada Facultad de Ingeniería UTB
Profesora Asociada Facultad de Ingeniería UTB
Gloria Isabel Bautista Lasprilla
 
Complejidad computacional selección
Complejidad computacional   selecciónComplejidad computacional   selección
Complejidad computacional selección
Gloria Isabel Bautista Lasprilla
 
El apuntador this
El apuntador this El apuntador this
Poster - presentación
Poster - presentaciónPoster - presentación
Poster - presentación
Gloria Isabel Bautista Lasprilla
 
Recorridos en ABB
Recorridos en ABB Recorridos en ABB
Abb árboles de búsqueda binaria
Abb árboles de búsqueda binariaAbb árboles de búsqueda binaria
Abb árboles de búsqueda binaria
Gloria Isabel Bautista Lasprilla
 
Definición de clases en POO
Definición de clases en POODefinición de clases en POO
Definición de clases en POO
Gloria Isabel Bautista Lasprilla
 
Poo presentacion
Poo presentacionPoo presentacion
Presentacion encuentro gloria bautista
Presentacion encuentro   gloria bautistaPresentacion encuentro   gloria bautista
Presentacion encuentro gloria bautista
Gloria Isabel Bautista Lasprilla
 
Modelo curricular por ciclos propedéuticos, programas técnicos y tecnológicos
Modelo curricular por ciclos propedéuticos, programas técnicos y tecnológicosModelo curricular por ciclos propedéuticos, programas técnicos y tecnológicos
Modelo curricular por ciclos propedéuticos, programas técnicos y tecnológicos
Gloria Isabel Bautista Lasprilla
 
Articulación Educación Media con Superior
Articulación Educación Media con SuperiorArticulación Educación Media con Superior
Articulación Educación Media con Superior
Gloria Isabel Bautista Lasprilla
 

Más de Gloria Isabel Bautista Lasprilla (13)

Herencia y polimorfismo
Herencia y polimorfismoHerencia y polimorfismo
Herencia y polimorfismo
 
Complejidad computacional 1
Complejidad computacional 1Complejidad computacional 1
Complejidad computacional 1
 
Profesora Asociada Facultad de Ingeniería UTB
Profesora Asociada Facultad de Ingeniería UTBProfesora Asociada Facultad de Ingeniería UTB
Profesora Asociada Facultad de Ingeniería UTB
 
Complejidad computacional selección
Complejidad computacional   selecciónComplejidad computacional   selección
Complejidad computacional selección
 
El apuntador this
El apuntador this El apuntador this
El apuntador this
 
Poster - presentación
Poster - presentaciónPoster - presentación
Poster - presentación
 
Recorridos en ABB
Recorridos en ABB Recorridos en ABB
Recorridos en ABB
 
Abb árboles de búsqueda binaria
Abb árboles de búsqueda binariaAbb árboles de búsqueda binaria
Abb árboles de búsqueda binaria
 
Definición de clases en POO
Definición de clases en POODefinición de clases en POO
Definición de clases en POO
 
Poo presentacion
Poo presentacionPoo presentacion
Poo presentacion
 
Presentacion encuentro gloria bautista
Presentacion encuentro   gloria bautistaPresentacion encuentro   gloria bautista
Presentacion encuentro gloria bautista
 
Modelo curricular por ciclos propedéuticos, programas técnicos y tecnológicos
Modelo curricular por ciclos propedéuticos, programas técnicos y tecnológicosModelo curricular por ciclos propedéuticos, programas técnicos y tecnológicos
Modelo curricular por ciclos propedéuticos, programas técnicos y tecnológicos
 
Articulación Educación Media con Superior
Articulación Educación Media con SuperiorArticulación Educación Media con Superior
Articulación Educación Media con Superior
 

Último

CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
SamuelGampley
 
infografia del sena para analisis y desarrollo de software
infografia del sena para analisis y desarrollo de softwareinfografia del sena para analisis y desarrollo de software
infografia del sena para analisis y desarrollo de software
oscartorres960914
 
trabajo integrador final sofi y vane.docx
trabajo integrador final sofi y vane.docxtrabajo integrador final sofi y vane.docx
trabajo integrador final sofi y vane.docx
lasocharfuelan123
 
Caso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La SalleCaso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La Salle
Ecaresoft Inc.
 
Escaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipoEscaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipo
nicromante2000
 
Los desafíos de calidad de software que nos trae la IA y los LLMs
Los desafíos de calidad de software que nos trae la IA y los LLMsLos desafíos de calidad de software que nos trae la IA y los LLMs
Los desafíos de calidad de software que nos trae la IA y los LLMs
Federico Toledo
 
FICHA DE TRABAJO DE CREACION DE TABLAS EN WORD
FICHA  DE TRABAJO DE CREACION DE TABLAS EN WORDFICHA  DE TRABAJO DE CREACION DE TABLAS EN WORD
FICHA DE TRABAJO DE CREACION DE TABLAS EN WORD
RobertSotilLujn
 
Maquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdfMaquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdf
juanjosebarreiro704
 
experiencia de aprendizaje sobre lectura y escritura como herramientas de ap...
experiencia de aprendizaje sobre lectura y escritura como  herramientas de ap...experiencia de aprendizaje sobre lectura y escritura como  herramientas de ap...
experiencia de aprendizaje sobre lectura y escritura como herramientas de ap...
cuentauniversidad34
 
PitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitalesPitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitales
juanorejuela499
 

Último (10)

CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
 
infografia del sena para analisis y desarrollo de software
infografia del sena para analisis y desarrollo de softwareinfografia del sena para analisis y desarrollo de software
infografia del sena para analisis y desarrollo de software
 
trabajo integrador final sofi y vane.docx
trabajo integrador final sofi y vane.docxtrabajo integrador final sofi y vane.docx
trabajo integrador final sofi y vane.docx
 
Caso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La SalleCaso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La Salle
 
Escaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipoEscaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipo
 
Los desafíos de calidad de software que nos trae la IA y los LLMs
Los desafíos de calidad de software que nos trae la IA y los LLMsLos desafíos de calidad de software que nos trae la IA y los LLMs
Los desafíos de calidad de software que nos trae la IA y los LLMs
 
FICHA DE TRABAJO DE CREACION DE TABLAS EN WORD
FICHA  DE TRABAJO DE CREACION DE TABLAS EN WORDFICHA  DE TRABAJO DE CREACION DE TABLAS EN WORD
FICHA DE TRABAJO DE CREACION DE TABLAS EN WORD
 
Maquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdfMaquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdf
 
experiencia de aprendizaje sobre lectura y escritura como herramientas de ap...
experiencia de aprendizaje sobre lectura y escritura como  herramientas de ap...experiencia de aprendizaje sobre lectura y escritura como  herramientas de ap...
experiencia de aprendizaje sobre lectura y escritura como herramientas de ap...
 
PitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitalesPitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitales
 

Herencia y polimorfismo

  • 2. Polimorfismo • Una de las características más importantes de la programación orientada a objetos es la capacidad de que diferentes objetos responden a órdenes similares de modo diferentes. • Identificador de mensaje y operadores sobrecargados. El identificador de mensaje y operador invocan una operación específica sobre un objeto. Cada uno establece la selección del significado uniforme de la operación en particular que se desea realizar.
  • 3. • En términos generales, Polimorfismo se define como la calidad o estado de ser capaz de asumir formas diferentes. • En la solución de un problema orientado a objetos, polimorfismo puede aplicarse a cualquier objetos en una operación, o función. • (En la POO) el polimorfismo se refiere al hecho de que una misma operación puede tener diferente comportamiento en diferentes objetos. En otras palabras, diferentes objetos reaccionan al mismo mensaje de manera diferente. Polimorfismo
  • 4. Polimorfismo (Ejemplo Sobrecarga) class complejo //Nombre de la clase { public : complejo( double = 0.0, double = 0.0 ); //Constructor complejo operator + ( const complejo & ) const; //Sobrecarga private: double real, imaginario; }; complejo::complejo( double a, double b ) // Constructor de la clase { real = a; imaginario = b; } complejo complejo::operator + (const complejo &a) const { complejo c; //Define un objeto complejo c.real = real + a.real; //Define de la operación llevada a cabo por el operador c.imaginario = imaginario+a.imaginario; return c; //Retorno del valor adquirido } La Sobrecarga De Operadores Es Un Ejemplo Muy Claro de Polimorfismo. Donde se sobrecarga el operador es donde se aplica el polimorfismo.
  • 5. • En términos generales, La herencia es el acto de adquirir una posesión, condición, o característica de generaciones pasadas. • En la solución de un problema orientado a objetos un tipo de objeto hereda propiedades que caracterizan otro tipo de objeto. • Las propiedades de los objetos son dadas por la descripción de la clase, esto implica una jerarquía de clases, donde una clase es una subclase de otra. • Los objetos que son los instancias de las subclases tienen propiedades dadas dentro de la descripción de la subclase así como también propiedades heredadas dadas dentro de la clase padre y todas las clases antecesoras. Herencia
  • 6. De la que se hereda La que hereda Superclase Subclase Clase Padre Clase hijo Clase Base Clase Derivada • La herencia se apoya en el significado de ese concepto en la vida diaria. • Así, las clases básicas (base class) o fundamentales se dividen en subclases (derived class). Terminología
  • 7. • Una clase utilizada para derivar nuevas clases se conoce como clase base (padre, ascendiente), y una clase creada de otra clase se llama clase derivada (hija, descendiente, subclase). • En un lenguaje Orientado a Objetos la herencia se manifiesta con la creación de un tipo definido por el usuario, que puede heredar las características de otra clase ya existente o derivar las suyas a otra nueva clase. • Cuando se hereda, las clases derivadas reciben las características (estructuras de datos y funciones) de la clase original , a las que se pueden añadir nuevas características o modificar las características heredadas. • La herencia se aplica para extender y reutilizar el código existente: • Los objetos se pueden construir de modo incremental a partir de otros objetos y pueden compartir código y estructuras de datos • Los algoritmos generales se pueden escribir de modo que se pueden reutilizar para nuevos tipos de objetos, incluso después que los algoritmos originales se han compilado. Conceptualización
  • 8. • Es la propiedad que permite a los objetos construirse a partir de otros objetos. Este principio consiste en que cada clase puede dividirse en subclases. • Las instancias heredan (usualmente) todas, y únicamente, las características de las clases a las que pertenecen, pero, también, es posible, en un sistema orientado a objetos, que se permita que las clases hereden características de superclases más generales. • En ese caso, las características heredadas pueden ser ignoradas (overriden) y se pueden agregar características adicionales para tratar excepciones. Herencia
  • 9. • De esta forma la herencia provee la potencialidad para construir soluciones nuevas a problemas agregando el incremento de la capacidad a soluciones existentes del problema mediante subclases. • Las instancias de una subclase representan una especialización de instancias descritas por una clase padre. • La instancia de la subclase tiene todos los atributos dados por la clase padre, más los atributos adicionales o agregados de la subclase. • La instancia de la subclase responde al mismo conjunto de mensajes dados en la clase padre, los mensajes adicionales se dan en la descripción de la subclase. Herencia
  • 10. • Se realiza tomando una clase existente y derivando nuevas clases de ella. • La clase derivada hereda las estructuras de datos y funciones de la clase original, Además, se pueden añadir nuevos miembros a las clases derivadas y los miembros heredados pueden ser modificados. • Una clase utilizada para derivar nuevas clases se denomina clase base (padre, superclase, ascendiente). • Una clase creada de otra clase se denomina clase derivada o subclase. A su vez una clase derivada puede ser utilizada como una clase base para derivar más clases. • Por consiguiente, se pueden construir jerarquías de clases, en las que cada clase sirve como padre o raíz de una nueva clase. Herencia Simple
  • 11. Ejemplo De Herencia Simple class Barco { protected: char* nombre; float peso; public: //Constructores y demás funciones básicas de barco }; class Carguero: public Barco // Esta es la manera de especificar que hereda de Barco. { private: float carga; //faltaría el resto de cosas }; class Acorazado: public Barco { private: int numeroArmas; int Soldados; // El resto de cosas };
  • 12. Herencia Múltiple Es aquella en la cual una clase derivada tiene más de una clase base. Aunque el concepto de herencia múltiple es muy útil, el diseño de clases suele ser más complejo, y en ocasiones es preferible realizar la aplicación con herencia múltiple mediante emulación de herencia simple.
  • 13. Ejemplo de Herencia Múltiple Si una clase recibe propiedades de más de una clase base, la herencia es múltiple. Características A Características B Características A Características B Características C Características D Características E Características A Características B Características C
  • 14. Funciones virtual • Diseñar e implementar sistemas que sean extensible más fácilmente • Programas escritos para procesar todos los objetos de clases existentes genéricamente en una jerarquía
  • 15. Suponga un conjunto de superficies tales como Circle, Triangle, etc. Cada superficie tiene su propia función para dibujarse, pero es posible llamarlas a ella invocando solamente la función draw de la clase base Shape, el compilador determina dinámicamente (en tiempo de ejecución) a cual llamar. En la clase base se declara a draw como virtual. Se sobrescribe draw en cada clase derivada, Declaración virtual La palabra reservada virtual antes del prototipo de la función: virtual void draw() const; Un puntero de la clase base a un objeto de la clase derivada, llamará la función draw correctamente, Shape->draw(); Funciones virtual