SlideShare une entreprise Scribd logo
Renato Urvina
Escuela de Ingenierías
Ingeniería en Sistemas de
Información
Programación Orientada a Objetos
Programación Orientada a Objetos
Programación Orientada a Objetos
Sobrecarga
Herencia
Renato Urvina
Programación Orientada a Objetos
Sobrecarga
La sobrecarga es cuando hay funciones con el
mismo nombre y funcionalidad similar en clases
independientes o dentro de la misma clase pero
con diferentes parámetros.
La ventaja de la sobrecarga es que se puede usar
el mismo nombre para métodos que realizan la
misma operación con distintos tipos o cantidades
de datos.
Renato Urvina
Por ejemplo, en Java se puede sobrecargar el método
`println` para imprimir diferentes tipos de datos:
Programación Orientada a Objetos
Herencia
Una vez definidos los conceptos de clases y
objetos, atributos y estados, métodos y mensajes.
Antes de pasar al concepto de herencia, se debe
pasar por el concepto de Jerarquización.
Jerarquización
No es un concepto específicamente de POO, sino
que es algo que se ve en la vida real en muchos
ámbitos, algo inherente a cualquier tipo de
sistema.
Puedo haber diversos tipos de jerarquías, como
clasificación o composición
Renato Urvina
Clasificación: Este tipo de jerarquización indica que unos elementos
son una especialización de otros. Por ejemplo, los animales, donde
tenemos vertebrados e invertebrados. Luego, dentro de los
vertebrados encontramos aves, reptiles, mamíferos, etc. En los
mamíferos encontramos perros, vacas, conejos.
Composición: Es cuando unos elementos podemos decir que están
compuestos de otros, o que unos elementos están presentes en otros.
Por ejemplo, el sistema respiratorio y los pulmones, la nariz, etc.
Podemos decir que los pulmones están dentro del sistema
respiratorio, así como dentro de los pulmones encontramos
bronquios y alvéolos. En esta jerarquía de elementos tenemos
composición porque donde unos forman parte de otros. En una
factura también podemos decir que puede haber una jerarquía de
composición. La factura tiene un cliente, varios conceptos facturables,
un impuesto, etc.
Programación Orientada a Objetos
Herencia
Renato Urvina
Programación Orientada a Objetos
Herencia
Reutilización del código
Por otra parte, otro de los mecanismos que cualquier lenguaje de
programación debe proveer es la posibilidad de reutilizar el código.
En la programación estructurada tenemos las funciones, así que ya hemos
podido reutilizar código de alguna manera. Así pues, el equivalente a las
funciones, los métodos, ya nos da un grado de reutilización, pero no llegan al
nivel de potencia de las que encontraremos en la herencia.
En inglés lo resume el término "DRY", Don't Repeat Yourself (no te repitas) y es
un enunciado muy presente en programación.
"No es mejor programador quien más líneas de código hace, sino quien mejor
las reutiliza".
La herencia es un mecanismo fundamental para reutilizar código.
Renato Urvina
Programación Orientada a Objetos
Herencia
La herencia es crear una nueva clase que hereda
las características de otra clase ya existente.
La clase existente se llama superclase o clase
base o clase padre, y la nueva clase se llama
subclase o clase derivada.
La herencia permite reutilizar el código de la
superclase y modificar o ampliar su
comportamiento en la subclase.
Renato Urvina
Programación Orientada a Objetos
Herencia
Las subclases pueden redefinir los métodos y
atributos de la clase padre y añadir iotros nuevos
Renato Urvina
Programación Orientada a Objetos
Tipos de Herencia
Renato Urvina
Programación Orientada a Objetos
Herencia en java
Renato Urvina
Programación Orientada a Objetos
Constructor subclase
Renato Urvina
Programación Orientada a Objetos
Herencia
Renato Urvina
Por ejemplo, en Java se puede crear una subclase `Perro` que hereda de una superclase `Animal`:
Programación Orientada a Objetos
Herencia
Renato Urvina
Por ejemplo, en python se puede crear una subclase `Perro` que hereda de una superclase `Animal`:
Programación Orientada a Objetos
Herencia
Renato Urvina
Por ejemplo, en javascript se puede crear una subclase `Perro` que hereda de una superclase `Animal`:
Programación Orientada a Objetos
Herencia
Renato Urvina
Por ejemplo, en dart se puede crear una subclase `Perro` que hereda de una superclase `Animal`:
Programación Orientada a Objetos
Herencia
Renato Urvina
Por ejemplo, en c++ se puede crear una subclase `Perro` que hereda de una superclase `Animal`:
Programación Orientada a Objetos
Herencia
Renato Urvina
Por ejemplo, en delphi se puede crear una subclase `Perro` que hereda de una superclase `Animal`:
// Definimos una clase padre Animal
type
TAnimal = class
private
FNombre: string;
FPatas: integer;
public
constructor Create(Nombre: string; Patas: integer);
function MostrarDatos: string; virtual;
property Nombre: string read FNombre write FNombre;
property Patas: integer read FPatas write FPatas;
end;
// Definimos una clase hija Perro que hereda de Animal
type
TPerro = class(TAnimal)
private
FRaza: string;
public
constructor Create(Nombre: string; Patas: integer; Raza: string);
function MostrarDatos: string; override;
property Raza: string read FRaza write FRaza;
end;
// Implementamos el constructor de la clase padre Animal
constructor TAnimal.Create(Nombre: string; Patas: integer);
begin
FNombre := Nombre;
FPatas := Patas;
end;
// Implementamos el método MostrarDatos de la clase padre Animal
function TAnimal.MostrarDatos: string;
begin
Result := FNombre + ' tiene ' + IntToStr(FPatas) + ' patas';
end;
// Implementamos el constructor de la clase hija Perro
constructor TPerro.Create(Nombre: string; Patas: integer; Raza: string);
begin
inherited Create(Nombre, Patas); // Llamamos al constructor de la clase padre
FRaza := Raza;
end;
// Implementamos el método MostrarDatos de la clase hija Perro
function TPerro.MostrarDatos: string;
begin
Result := inherited MostrarDatos + ' y es de raza ' + FRaza; // Llamamos al método de la clase padre
end;
// Creamos un objeto de la clase Perro y lo mostramos en un Memo
var
Perro: TPerro;
begin
Perro := TPerro.Create('Firulais', 4, 'Labrador');
Memo1.Lines.Add(Perro.MostrarDatos);
end;
Programación Orientada a Objetos
Herencia
Renato Urvina
Ejemplo en Go, aunque es un lenguaje que no tiene soporte para la herencia clásica de clases, sino que
usa la composición y las interfaces para lograr un comportamiento similar
Programación Orientada a Objetos
Herencia
Renato Urvina
Ejemplo en typescript, se puede crear una subclase `Perro` que hereda de una superclase `Animal`:
Programación Orientada a Objetos
Herencia
Renato Urvina
Ejemplo en c#, se puede crear una subclase `Perro` que hereda de una superclase `Animal`:
class Program{
static void Main(string[] args) {
Perro perro = new Perro("Firulais", "Labrador");
perro.MostrarNombre(); // Llamamos al método de la clase hija
perro.MostrarRaza(); // Llamamos al método de la clase hija
} }
Programación Orientada a Objetos
Herencia
Renato Urvina
Ejemplo en java, se puede crear una subclase `Perro` que hereda de una superclase `Animal`:

Contenu connexe

Similaire à introducción a herencia programación orientada a objetos

Polimorfismo
PolimorfismoPolimorfismo
Introducción a la Programaciónen Java
Introducción a la Programaciónen JavaIntroducción a la Programaciónen Java
Introducción a la Programaciónen Java
santosisidrorivera
 
Programacion de algoritmos
Programacion de algoritmosProgramacion de algoritmos
Programacion de algoritmos
Videoconferencias UTPL
 
Programacion Orientada Objetos.pdf
Programacion Orientada Objetos.pdfProgramacion Orientada Objetos.pdf
Programacion Orientada Objetos.pdf
SantiagoValenzuela24
 
Trabajo practico de lenguaje java.Conceptos. Estructuras. Programacion.
Trabajo practico de lenguaje java.Conceptos. Estructuras. Programacion.Trabajo practico de lenguaje java.Conceptos. Estructuras. Programacion.
Trabajo practico de lenguaje java.Conceptos. Estructuras. Programacion.
Mabel2310
 
Guía práctica Herencia
Guía práctica HerenciaGuía práctica Herencia
Guía práctica Herencia
lissette_torrealba
 
Programacion web
Programacion webProgramacion web
Programacion web
IACSA
 
Unidad_01_01.pdf
Unidad_01_01.pdfUnidad_01_01.pdf
Unidad_01_01.pdf
FelipeFarfn2
 
Python
PythonPython
PYTHON ORIENTADO A OBJETOS
PYTHON ORIENTADO A OBJETOSPYTHON ORIENTADO A OBJETOS
PYTHON ORIENTADO A OBJETOS
maricarmenyolanda
 
Taller 2 conceptualizacion
Taller 2 conceptualizacionTaller 2 conceptualizacion
Taller 2 conceptualizacion
Oscar Rico Florez
 
Programación de aplicaciones
Programación de aplicacionesProgramación de aplicaciones
Programación de aplicaciones
Edward Contreras
 
Clase 1 - Programación orientada a Objetos (2).pptx
Clase 1 - Programación orientada a Objetos (2).pptxClase 1 - Programación orientada a Objetos (2).pptx
Clase 1 - Programación orientada a Objetos (2).pptx
javierccallo
 
Fondo1 (2)
Fondo1 (2)Fondo1 (2)
DIAPOSITIVAS CURSO PYTHON.pptx.pdf
DIAPOSITIVAS CURSO PYTHON.pptx.pdfDIAPOSITIVAS CURSO PYTHON.pptx.pdf
DIAPOSITIVAS CURSO PYTHON.pptx.pdf
JuanPatricioLemaChil
 
Hola mundorafaelnavarroprieto
Hola mundorafaelnavarroprietoHola mundorafaelnavarroprieto
Hola mundorafaelnavarroprieto
Rafael Navarro Prieto
 
Java jaucito
Java jaucitoJava jaucito
Java jaucito
Jose Jaucito
 
Lab herencia
Lab herenciaLab herencia
Unidad III epoo
Unidad III epooUnidad III epoo
Unidad III epoo
lhgarzonr
 
Pycon es 17 noviembre 2014
Pycon es 17 noviembre 2014Pycon es 17 noviembre 2014
Pycon es 17 noviembre 2014
Sergio Soto
 

Similaire à introducción a herencia programación orientada a objetos (20)

Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
 
Introducción a la Programaciónen Java
Introducción a la Programaciónen JavaIntroducción a la Programaciónen Java
Introducción a la Programaciónen Java
 
Programacion de algoritmos
Programacion de algoritmosProgramacion de algoritmos
Programacion de algoritmos
 
Programacion Orientada Objetos.pdf
Programacion Orientada Objetos.pdfProgramacion Orientada Objetos.pdf
Programacion Orientada Objetos.pdf
 
Trabajo practico de lenguaje java.Conceptos. Estructuras. Programacion.
Trabajo practico de lenguaje java.Conceptos. Estructuras. Programacion.Trabajo practico de lenguaje java.Conceptos. Estructuras. Programacion.
Trabajo practico de lenguaje java.Conceptos. Estructuras. Programacion.
 
Guía práctica Herencia
Guía práctica HerenciaGuía práctica Herencia
Guía práctica Herencia
 
Programacion web
Programacion webProgramacion web
Programacion web
 
Unidad_01_01.pdf
Unidad_01_01.pdfUnidad_01_01.pdf
Unidad_01_01.pdf
 
Python
PythonPython
Python
 
PYTHON ORIENTADO A OBJETOS
PYTHON ORIENTADO A OBJETOSPYTHON ORIENTADO A OBJETOS
PYTHON ORIENTADO A OBJETOS
 
Taller 2 conceptualizacion
Taller 2 conceptualizacionTaller 2 conceptualizacion
Taller 2 conceptualizacion
 
Programación de aplicaciones
Programación de aplicacionesProgramación de aplicaciones
Programación de aplicaciones
 
Clase 1 - Programación orientada a Objetos (2).pptx
Clase 1 - Programación orientada a Objetos (2).pptxClase 1 - Programación orientada a Objetos (2).pptx
Clase 1 - Programación orientada a Objetos (2).pptx
 
Fondo1 (2)
Fondo1 (2)Fondo1 (2)
Fondo1 (2)
 
DIAPOSITIVAS CURSO PYTHON.pptx.pdf
DIAPOSITIVAS CURSO PYTHON.pptx.pdfDIAPOSITIVAS CURSO PYTHON.pptx.pdf
DIAPOSITIVAS CURSO PYTHON.pptx.pdf
 
Hola mundorafaelnavarroprieto
Hola mundorafaelnavarroprietoHola mundorafaelnavarroprieto
Hola mundorafaelnavarroprieto
 
Java jaucito
Java jaucitoJava jaucito
Java jaucito
 
Lab herencia
Lab herenciaLab herencia
Lab herencia
 
Unidad III epoo
Unidad III epooUnidad III epoo
Unidad III epoo
 
Pycon es 17 noviembre 2014
Pycon es 17 noviembre 2014Pycon es 17 noviembre 2014
Pycon es 17 noviembre 2014
 

Plus de apssoftwaredegestion

01 - NetiquetaIdentidadHuellaDigital.pdf
01 - NetiquetaIdentidadHuellaDigital.pdf01 - NetiquetaIdentidadHuellaDigital.pdf
01 - NetiquetaIdentidadHuellaDigital.pdf
apssoftwaredegestion
 
Listas dinámicas y programación de objetos en java
Listas dinámicas y programación de objetos  en javaListas dinámicas y programación de objetos  en java
Listas dinámicas y programación de objetos en java
apssoftwaredegestion
 
clase 01BDF.pdf
clase 01BDF.pdfclase 01BDF.pdf
clase 01BDF.pdf
apssoftwaredegestion
 
el-software-y-sus-clases.pdf
el-software-y-sus-clases.pdfel-software-y-sus-clases.pdf
el-software-y-sus-clases.pdf
apssoftwaredegestion
 
Las-Variables.pdf
Las-Variables.pdfLas-Variables.pdf
Las-Variables.pdf
apssoftwaredegestion
 
BD Federadas 01.pptx
BD Federadas 01.pptxBD Federadas 01.pptx
BD Federadas 01.pptx
apssoftwaredegestion
 
El arte de la ciencia de datos
El arte de la ciencia de datosEl arte de la ciencia de datos
El arte de la ciencia de datos
apssoftwaredegestion
 
Qué es la ciencia de datos.pdf
Qué es la ciencia de datos.pdfQué es la ciencia de datos.pdf
Qué es la ciencia de datos.pdf
apssoftwaredegestion
 

Plus de apssoftwaredegestion (8)

01 - NetiquetaIdentidadHuellaDigital.pdf
01 - NetiquetaIdentidadHuellaDigital.pdf01 - NetiquetaIdentidadHuellaDigital.pdf
01 - NetiquetaIdentidadHuellaDigital.pdf
 
Listas dinámicas y programación de objetos en java
Listas dinámicas y programación de objetos  en javaListas dinámicas y programación de objetos  en java
Listas dinámicas y programación de objetos en java
 
clase 01BDF.pdf
clase 01BDF.pdfclase 01BDF.pdf
clase 01BDF.pdf
 
el-software-y-sus-clases.pdf
el-software-y-sus-clases.pdfel-software-y-sus-clases.pdf
el-software-y-sus-clases.pdf
 
Las-Variables.pdf
Las-Variables.pdfLas-Variables.pdf
Las-Variables.pdf
 
BD Federadas 01.pptx
BD Federadas 01.pptxBD Federadas 01.pptx
BD Federadas 01.pptx
 
El arte de la ciencia de datos
El arte de la ciencia de datosEl arte de la ciencia de datos
El arte de la ciencia de datos
 
Qué es la ciencia de datos.pdf
Qué es la ciencia de datos.pdfQué es la ciencia de datos.pdf
Qué es la ciencia de datos.pdf
 

Dernier

Hablemos de ESI para estudiantes Cuadernillo
Hablemos de ESI para estudiantes CuadernilloHablemos de ESI para estudiantes Cuadernillo
Hablemos de ESI para estudiantes Cuadernillo
Mónica Sánchez
 
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZACORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
Sandra Mariela Ballón Aguedo
 
Los Dominios y Reinos de los Seres Vivos
Los Dominios y Reinos de los Seres VivosLos Dominios y Reinos de los Seres Vivos
Los Dominios y Reinos de los Seres Vivos
karlafreire0608
 
Vida, obra y pensamiento de Kant I24.ppt
Vida, obra y pensamiento de Kant I24.pptVida, obra y pensamiento de Kant I24.ppt
Vida, obra y pensamiento de Kant I24.ppt
LinoLatella
 
Camus, Albert - El Extranjero.pdf
Camus, Albert -        El Extranjero.pdfCamus, Albert -        El Extranjero.pdf
Camus, Albert - El Extranjero.pdf
AlexDeLonghi
 
Inteligencia Artificial y Aprendizaje Activo FLACSO Ccesa007.pdf
Inteligencia Artificial  y Aprendizaje Activo FLACSO  Ccesa007.pdfInteligencia Artificial  y Aprendizaje Activo FLACSO  Ccesa007.pdf
Inteligencia Artificial y Aprendizaje Activo FLACSO Ccesa007.pdf
Demetrio Ccesa Rayme
 
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdfMundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
ViriEsteva
 
Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLM
Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLMExamen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLM
Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLM
Juan Martín Martín
 
Presentación simple corporativa degradado en violeta blanco.pdf
Presentación simple corporativa degradado en violeta blanco.pdfPresentación simple corporativa degradado en violeta blanco.pdf
Presentación simple corporativa degradado en violeta blanco.pdf
eleandroth
 
tema 7. Los siglos XVI y XVII ( resumen)
tema 7. Los siglos XVI y XVII ( resumen)tema 7. Los siglos XVI y XVII ( resumen)
tema 7. Los siglos XVI y XVII ( resumen)
saradocente
 
1° T3 Examen Zany de primer grado compl
1° T3 Examen Zany  de primer grado compl1° T3 Examen Zany  de primer grado compl
1° T3 Examen Zany de primer grado compl
ROCIORUIZQUEZADA
 
Cronica-de-una-Muerte-Anunciada - Gabriel Garcia Marquez.pdf
Cronica-de-una-Muerte-Anunciada - Gabriel Garcia Marquez.pdfCronica-de-una-Muerte-Anunciada - Gabriel Garcia Marquez.pdf
Cronica-de-una-Muerte-Anunciada - Gabriel Garcia Marquez.pdf
RicardoValdiviaVega
 
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
JAVIER SOLIS NOYOLA
 
MATERIAL ESCOLAR 2024-2025 3 AÑOS CEIP SAN CRISTÓBAL
MATERIAL ESCOLAR 2024-2025 3 AÑOS CEIP SAN CRISTÓBALMATERIAL ESCOLAR 2024-2025 3 AÑOS CEIP SAN CRISTÓBAL
MATERIAL ESCOLAR 2024-2025 3 AÑOS CEIP SAN CRISTÓBAL
Ana Fernandez
 
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docxLecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Alejandrino Halire Ccahuana
 
3° SES COMU LUN10 CUENTO DIA DEL PADRE 933623393 PROF YESSENIA (1).docx
3° SES COMU LUN10  CUENTO DIA DEL PADRE  933623393 PROF YESSENIA (1).docx3° SES COMU LUN10  CUENTO DIA DEL PADRE  933623393 PROF YESSENIA (1).docx
3° SES COMU LUN10 CUENTO DIA DEL PADRE 933623393 PROF YESSENIA (1).docx
rosannatasaycoyactay
 
efemérides del mes de junio 2024 (1).pptx
efemérides del mes de junio 2024 (1).pptxefemérides del mes de junio 2024 (1).pptx
efemérides del mes de junio 2024 (1).pptx
acgtz913
 
Business Plan -rAIces - Agro Business Tech
Business Plan -rAIces - Agro Business TechBusiness Plan -rAIces - Agro Business Tech
Business Plan -rAIces - Agro Business Tech
johnyamg20
 
Escuela Sabática. El conflicto inminente.pdf
Escuela Sabática. El conflicto inminente.pdfEscuela Sabática. El conflicto inminente.pdf
Escuela Sabática. El conflicto inminente.pdf
Alejandrino Halire Ccahuana
 
MATERIAL ESCOLAR 2024-2025. 4 AÑOS CEIP SAN CRISTOBAL
MATERIAL ESCOLAR 2024-2025. 4 AÑOS CEIP SAN CRISTOBALMATERIAL ESCOLAR 2024-2025. 4 AÑOS CEIP SAN CRISTOBAL
MATERIAL ESCOLAR 2024-2025. 4 AÑOS CEIP SAN CRISTOBAL
Ana Fernandez
 

Dernier (20)

Hablemos de ESI para estudiantes Cuadernillo
Hablemos de ESI para estudiantes CuadernilloHablemos de ESI para estudiantes Cuadernillo
Hablemos de ESI para estudiantes Cuadernillo
 
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZACORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
 
Los Dominios y Reinos de los Seres Vivos
Los Dominios y Reinos de los Seres VivosLos Dominios y Reinos de los Seres Vivos
Los Dominios y Reinos de los Seres Vivos
 
Vida, obra y pensamiento de Kant I24.ppt
Vida, obra y pensamiento de Kant I24.pptVida, obra y pensamiento de Kant I24.ppt
Vida, obra y pensamiento de Kant I24.ppt
 
Camus, Albert - El Extranjero.pdf
Camus, Albert -        El Extranjero.pdfCamus, Albert -        El Extranjero.pdf
Camus, Albert - El Extranjero.pdf
 
Inteligencia Artificial y Aprendizaje Activo FLACSO Ccesa007.pdf
Inteligencia Artificial  y Aprendizaje Activo FLACSO  Ccesa007.pdfInteligencia Artificial  y Aprendizaje Activo FLACSO  Ccesa007.pdf
Inteligencia Artificial y Aprendizaje Activo FLACSO Ccesa007.pdf
 
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdfMundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
 
Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLM
Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLMExamen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLM
Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLM
 
Presentación simple corporativa degradado en violeta blanco.pdf
Presentación simple corporativa degradado en violeta blanco.pdfPresentación simple corporativa degradado en violeta blanco.pdf
Presentación simple corporativa degradado en violeta blanco.pdf
 
tema 7. Los siglos XVI y XVII ( resumen)
tema 7. Los siglos XVI y XVII ( resumen)tema 7. Los siglos XVI y XVII ( resumen)
tema 7. Los siglos XVI y XVII ( resumen)
 
1° T3 Examen Zany de primer grado compl
1° T3 Examen Zany  de primer grado compl1° T3 Examen Zany  de primer grado compl
1° T3 Examen Zany de primer grado compl
 
Cronica-de-una-Muerte-Anunciada - Gabriel Garcia Marquez.pdf
Cronica-de-una-Muerte-Anunciada - Gabriel Garcia Marquez.pdfCronica-de-una-Muerte-Anunciada - Gabriel Garcia Marquez.pdf
Cronica-de-una-Muerte-Anunciada - Gabriel Garcia Marquez.pdf
 
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
 
MATERIAL ESCOLAR 2024-2025 3 AÑOS CEIP SAN CRISTÓBAL
MATERIAL ESCOLAR 2024-2025 3 AÑOS CEIP SAN CRISTÓBALMATERIAL ESCOLAR 2024-2025 3 AÑOS CEIP SAN CRISTÓBAL
MATERIAL ESCOLAR 2024-2025 3 AÑOS CEIP SAN CRISTÓBAL
 
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docxLecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
 
3° SES COMU LUN10 CUENTO DIA DEL PADRE 933623393 PROF YESSENIA (1).docx
3° SES COMU LUN10  CUENTO DIA DEL PADRE  933623393 PROF YESSENIA (1).docx3° SES COMU LUN10  CUENTO DIA DEL PADRE  933623393 PROF YESSENIA (1).docx
3° SES COMU LUN10 CUENTO DIA DEL PADRE 933623393 PROF YESSENIA (1).docx
 
efemérides del mes de junio 2024 (1).pptx
efemérides del mes de junio 2024 (1).pptxefemérides del mes de junio 2024 (1).pptx
efemérides del mes de junio 2024 (1).pptx
 
Business Plan -rAIces - Agro Business Tech
Business Plan -rAIces - Agro Business TechBusiness Plan -rAIces - Agro Business Tech
Business Plan -rAIces - Agro Business Tech
 
Escuela Sabática. El conflicto inminente.pdf
Escuela Sabática. El conflicto inminente.pdfEscuela Sabática. El conflicto inminente.pdf
Escuela Sabática. El conflicto inminente.pdf
 
MATERIAL ESCOLAR 2024-2025. 4 AÑOS CEIP SAN CRISTOBAL
MATERIAL ESCOLAR 2024-2025. 4 AÑOS CEIP SAN CRISTOBALMATERIAL ESCOLAR 2024-2025. 4 AÑOS CEIP SAN CRISTOBAL
MATERIAL ESCOLAR 2024-2025. 4 AÑOS CEIP SAN CRISTOBAL
 

introducción a herencia programación orientada a objetos

  • 1. Renato Urvina Escuela de Ingenierías Ingeniería en Sistemas de Información Programación Orientada a Objetos
  • 2. Programación Orientada a Objetos Programación Orientada a Objetos Sobrecarga Herencia Renato Urvina
  • 3. Programación Orientada a Objetos Sobrecarga La sobrecarga es cuando hay funciones con el mismo nombre y funcionalidad similar en clases independientes o dentro de la misma clase pero con diferentes parámetros. La ventaja de la sobrecarga es que se puede usar el mismo nombre para métodos que realizan la misma operación con distintos tipos o cantidades de datos. Renato Urvina Por ejemplo, en Java se puede sobrecargar el método `println` para imprimir diferentes tipos de datos:
  • 4. Programación Orientada a Objetos Herencia Una vez definidos los conceptos de clases y objetos, atributos y estados, métodos y mensajes. Antes de pasar al concepto de herencia, se debe pasar por el concepto de Jerarquización. Jerarquización No es un concepto específicamente de POO, sino que es algo que se ve en la vida real en muchos ámbitos, algo inherente a cualquier tipo de sistema. Puedo haber diversos tipos de jerarquías, como clasificación o composición Renato Urvina Clasificación: Este tipo de jerarquización indica que unos elementos son una especialización de otros. Por ejemplo, los animales, donde tenemos vertebrados e invertebrados. Luego, dentro de los vertebrados encontramos aves, reptiles, mamíferos, etc. En los mamíferos encontramos perros, vacas, conejos. Composición: Es cuando unos elementos podemos decir que están compuestos de otros, o que unos elementos están presentes en otros. Por ejemplo, el sistema respiratorio y los pulmones, la nariz, etc. Podemos decir que los pulmones están dentro del sistema respiratorio, así como dentro de los pulmones encontramos bronquios y alvéolos. En esta jerarquía de elementos tenemos composición porque donde unos forman parte de otros. En una factura también podemos decir que puede haber una jerarquía de composición. La factura tiene un cliente, varios conceptos facturables, un impuesto, etc.
  • 5. Programación Orientada a Objetos Herencia Renato Urvina
  • 6. Programación Orientada a Objetos Herencia Reutilización del código Por otra parte, otro de los mecanismos que cualquier lenguaje de programación debe proveer es la posibilidad de reutilizar el código. En la programación estructurada tenemos las funciones, así que ya hemos podido reutilizar código de alguna manera. Así pues, el equivalente a las funciones, los métodos, ya nos da un grado de reutilización, pero no llegan al nivel de potencia de las que encontraremos en la herencia. En inglés lo resume el término "DRY", Don't Repeat Yourself (no te repitas) y es un enunciado muy presente en programación. "No es mejor programador quien más líneas de código hace, sino quien mejor las reutiliza". La herencia es un mecanismo fundamental para reutilizar código. Renato Urvina
  • 7. Programación Orientada a Objetos Herencia La herencia es crear una nueva clase que hereda las características de otra clase ya existente. La clase existente se llama superclase o clase base o clase padre, y la nueva clase se llama subclase o clase derivada. La herencia permite reutilizar el código de la superclase y modificar o ampliar su comportamiento en la subclase. Renato Urvina
  • 8. Programación Orientada a Objetos Herencia Las subclases pueden redefinir los métodos y atributos de la clase padre y añadir iotros nuevos Renato Urvina
  • 9. Programación Orientada a Objetos Tipos de Herencia Renato Urvina
  • 10. Programación Orientada a Objetos Herencia en java Renato Urvina
  • 11. Programación Orientada a Objetos Constructor subclase Renato Urvina
  • 12. Programación Orientada a Objetos Herencia Renato Urvina Por ejemplo, en Java se puede crear una subclase `Perro` que hereda de una superclase `Animal`:
  • 13. Programación Orientada a Objetos Herencia Renato Urvina Por ejemplo, en python se puede crear una subclase `Perro` que hereda de una superclase `Animal`:
  • 14. Programación Orientada a Objetos Herencia Renato Urvina Por ejemplo, en javascript se puede crear una subclase `Perro` que hereda de una superclase `Animal`:
  • 15. Programación Orientada a Objetos Herencia Renato Urvina Por ejemplo, en dart se puede crear una subclase `Perro` que hereda de una superclase `Animal`:
  • 16. Programación Orientada a Objetos Herencia Renato Urvina Por ejemplo, en c++ se puede crear una subclase `Perro` que hereda de una superclase `Animal`:
  • 17. Programación Orientada a Objetos Herencia Renato Urvina Por ejemplo, en delphi se puede crear una subclase `Perro` que hereda de una superclase `Animal`: // Definimos una clase padre Animal type TAnimal = class private FNombre: string; FPatas: integer; public constructor Create(Nombre: string; Patas: integer); function MostrarDatos: string; virtual; property Nombre: string read FNombre write FNombre; property Patas: integer read FPatas write FPatas; end; // Definimos una clase hija Perro que hereda de Animal type TPerro = class(TAnimal) private FRaza: string; public constructor Create(Nombre: string; Patas: integer; Raza: string); function MostrarDatos: string; override; property Raza: string read FRaza write FRaza; end; // Implementamos el constructor de la clase padre Animal constructor TAnimal.Create(Nombre: string; Patas: integer); begin FNombre := Nombre; FPatas := Patas; end; // Implementamos el método MostrarDatos de la clase padre Animal function TAnimal.MostrarDatos: string; begin Result := FNombre + ' tiene ' + IntToStr(FPatas) + ' patas'; end; // Implementamos el constructor de la clase hija Perro constructor TPerro.Create(Nombre: string; Patas: integer; Raza: string); begin inherited Create(Nombre, Patas); // Llamamos al constructor de la clase padre FRaza := Raza; end; // Implementamos el método MostrarDatos de la clase hija Perro function TPerro.MostrarDatos: string; begin Result := inherited MostrarDatos + ' y es de raza ' + FRaza; // Llamamos al método de la clase padre end; // Creamos un objeto de la clase Perro y lo mostramos en un Memo var Perro: TPerro; begin Perro := TPerro.Create('Firulais', 4, 'Labrador'); Memo1.Lines.Add(Perro.MostrarDatos); end;
  • 18. Programación Orientada a Objetos Herencia Renato Urvina Ejemplo en Go, aunque es un lenguaje que no tiene soporte para la herencia clásica de clases, sino que usa la composición y las interfaces para lograr un comportamiento similar
  • 19. Programación Orientada a Objetos Herencia Renato Urvina Ejemplo en typescript, se puede crear una subclase `Perro` que hereda de una superclase `Animal`:
  • 20. Programación Orientada a Objetos Herencia Renato Urvina Ejemplo en c#, se puede crear una subclase `Perro` que hereda de una superclase `Animal`: class Program{ static void Main(string[] args) { Perro perro = new Perro("Firulais", "Labrador"); perro.MostrarNombre(); // Llamamos al método de la clase hija perro.MostrarRaza(); // Llamamos al método de la clase hija } }
  • 21. Programación Orientada a Objetos Herencia Renato Urvina Ejemplo en java, se puede crear una subclase `Perro` que hereda de una superclase `Animal`: