SlideShare a Scribd company logo
1 of 14
Download to read offline
O
O
P
04
Nueva edición - 2020
progra_amandoholamundo.co
1/14@xacarana
Agenda Herencia
Casting
2/14@xacarana
Herencia
Con el fin de especializar las car-
acterísticas de la clase Galleta, es
posible crear una nueva clase que
herede las propiedades y carac-
terísticas de una clase superior
llamada padre.
La clase hija hereda propiedades
y métodos del padre y puede ten-
er nuevas propiedades y métodos.
Se dice que la clase hija posee
una relación de tipo “es-un” con la
clase padre.
Otras galletas, clases hijas: Helado, para
perro, integrales, saladas, mini-galletas,
vegana, artificial, etc.
Galleta
- nombre:cadena
- ingredientes:cadena[]
- codigo_sabor:entero
+ setter y getter propiedades
+ MarcaGalleta():cadena
+ FechaVencimiento():Fecha
Wafer
- relleno:booleano
- medidas:entero[]
- es_dietetica:booleano
+ setter y getter propiedades
+ AsignarRelleno():void
+ PegarGalletas():void
Fortuna
- relleno:booleano
- empaque:booleano
- mensaje:cadena
+ setter y getter propiedades
+ MensajeAletorio():void
+ DestaparGalleta():cadena
Pretzel
- numero_vueltas:entero
- medidas:entero[]
- tiene_sal:booleano
+ setter y getter propiedades
+ Adornar():void
+ Doblar():void
...
es una
es una
es una
Clase Padre
Clases
Hijas
La relación se lee: Wafer es una Galleta
3/14@xacarana
Galleta
GalletaHelado
GalletaRectangular
Jerarquía de clases
Solo se puede heredar de una
sola clase y múltiples clases
pueden heredar de la misma
clase.
Cada vez que se hereda de una
clase, se busca especializar las
propiedades y funcionalidades de
la clase.
Se puede decir que:
La clase GalletaHelado, hereda
de la clase Galleta y
GalletaRectangular
4/14@xacarana
Creación de la clase Padre
class Galleta
{
private string nombre;
// ... resto de miembros dato
public void FechaVencimiento()
{
Console.WriteLine("23/03/2021");
}
// ... resto de métodos
public string Nombre { get => nombre; set => nombre = value; }
// ... resto de setter y getters
}
La clase padre no sufre ningún cambio en su implementación, es importante
tener en cuenta identificar propiedades y acciones que deban estar en ella,
para luego ser heredadas por las hijas.
5/14@xacarana
Creación de la clase hija
La clase hija, se dice que extiende de la clase padre, para definir esta relación
se usan : (dos puntos) como se muestra en el ejemplo.
class GalletaCuadrada:Galleta
{
public void Congelar()
{
Console.WriteLine("Galleta congelada");
}
}
Nuevo método
clase hija
6/14@xacarana
Uso de propiedades
Al crear una clase hija, se heredan las propiedades y métodos de la clase pa-
dre, es posible acceder a esta información desde las clases hijas.
GalletaRectangular gr = new GalletaRectangular();
gr.Nombre = “Biscuit”;
gr.BordeOvalado(true);
Se asigna el nombre, que es
una propiedad heredada
El método BordeOvalado
es una nueva acción, dis-
ponible solo en la clase hija
7/14@xacarana
Uso de métodos
Las clases hijas definen acciones especializadas adicionales que no tienen la
clase padre, de esta forma las hijas, seguiran haciendo una sola cosa bien, la
clase padre es generalista y las hijas especialistas.
GalletaRectangular gr = new GalletaRectangular();
gr.Congelar();
gr.FechaDeVencimiento();
Congelar es una acción nueva
definida solo en la clase hija
Acción heredada de la clase
padre, que comparten las
clases hijas. No se redefine
8/14@xacarana
Manejo de referencias
Teniendo en cuenta la relación “es un” presente entre la clase padre y la clase
hija, se pueden usar la clase padre como variable contenedora de sus hijas, la
clase padre actua como una envoltura (wrapper)
Galleta galleta = new GalletaRectangular();
galleta.FechaVencimiento();
Console.WriteLine(galleta.Nombre);
Se invoca una acción de la
clase padre, que ha sido here-
dada
Otra forma de acceder a los
getters heredados
9/14@xacarana
Casting
Se refiere a una operación de conversión entre dos tipos de datos diferentes
pero que pueden llegar a ser compatibles porque comparten propiedades,
acciones o pertenencen al mismo conjunto.
Si hablamos de números,
el casting es el proceso
de convertir un número
en otro compatible
Si hablamos de clases, el cast-
ing es el proceso de convertir
una clase a otra compatible. Si
hay una relación de herencia, es
posible realizar casting.
5 5.0
int double GalletaFortuna Galleta
10/14@xacarana
Casting implícito
Se realiza un casting implícito cuando la conversión entre datos se puede
hacer de manera transparente, es decir sin que se afecten las operaciones
que se vayan a realizar con los datos luego de la conversión
5
int x
x = y
5.3
double y
y = 5.3
y * 2
x5 5.0
int x double y
x = 5 y = x
y * 2
Pérdida de datos
Error al realizar la
conversión
Este error, se
detecta en
tiempo de
compilación
11/14@xacarana
Casting explícito
Se presenta cuando la conversión se puede realizar porque hay dos tipos
compatibles, pero no es obvía o puede traer problemas de precisión en las
operaciones entre variables.
Galleta gr = new GalletaRectangular();
((GalletaRectangular)gr).Congelar();
int x = (int)Math.PI;
Se convierte el objeto a su
tipo específico y luego se usa
una acción.
Pérdida de precisión, el
casting autoriza la operación
12/14@xacarana
Polimorfismo
Al comportamiento que asume la clase padre como wrapper contenedor, se
le conoce como polimorfismo, ya que una referencia de un tipo padre, puede
asumir el rol de cualquiera de sus hijas, esto hace que sea versatil y una forma
de guardar una referencia que puede conteneer cualquier clase hija.
La referencia se convierte en la base que puede contener a sus hijas, las
cuales son diferentes y especializadas, pero tienen similitudes, ya que ex-
tiende de un mismo padre.
El arreglo de tipo Galleta, puede contener galletas hijas de diferente tipo, las
cuales tienen en común que son Galletas, por la relación de herencia.
Galleta[] hijas = {new GalletaRectangular(), new Oreo(), new Fortuna()};
13/14@xacarana
Ejercicios
•	Crear 5 clases diferentes que hereden de un concepto en común
•	Crear una clase que tenga una herencia de varios niveles, por ejemplo GalletaHelado,
hereda de GalletaCuadrada y Galleta cuadrada hereda de Galleta. GalletaHelado es
nivel 3.
•	¿De cuantas clases puede heredar una clase hija?
•	Crear un arreglo de una clase Padre, crear instancias de clases hijas y por medio de
un ciclo, recorrer el arreglo e invocar un método en común.
•	Crear el diagrama de clases de la clase Animal, Tiburon, Leon, Tortuga, Mico, Loro. Ob-
serve que hay animales terrestres, acuaticos y areos, evidence estas propiedades en
el diagrama.
•	En una jerarquía de 5 clases, cree una instancia de la última clase y la guarda en una
referencia de la clase padre, luego por medio de casting explicito, llame métodos pre-
sentes en cada clase especifica.
•	Cree tres clases hijas, con diferentes constructores que permitan inicializar miembros
datos propios y heredados
•	¿Cual es el valor por defecto de los miembros datos de una clase hija? ¿Y el valor por
defecto de miembros dato heredados?
14/14@xacarana

More Related Content

What's hot

Jyoc java-cap10 clases complementarias y enumerados
Jyoc java-cap10 clases complementarias y enumeradosJyoc java-cap10 clases complementarias y enumerados
Jyoc java-cap10 clases complementarias y enumeradosJyoc X
 
Elementos de una clase
Elementos de una claseElementos de una clase
Elementos de una claseIsaias Toledo
 
Jyoc java-cap08 principios poo
Jyoc java-cap08 principios pooJyoc java-cap08 principios poo
Jyoc java-cap08 principios pooJyoc X
 
Intro aplicaciones web con php
Intro aplicaciones web con phpIntro aplicaciones web con php
Intro aplicaciones web con phpFer Nando
 
ProgramacióN Orientada A Objetos
ProgramacióN Orientada A ObjetosProgramacióN Orientada A Objetos
ProgramacióN Orientada A ObjetosPatricio Abad
 
Introduccion poo2
Introduccion poo2Introduccion poo2
Introduccion poo2ayreonmx
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetosale8819
 
5.1 estructura de una clase.
5.1 estructura de una clase.5.1 estructura de una clase.
5.1 estructura de una clase.K Manuel TN
 
Conceptos poo progra visual
Conceptos poo progra visualConceptos poo progra visual
Conceptos poo progra visualLibertad25
 
Programacion Orientada a Objetos IE
Programacion Orientada a Objetos IEProgramacion Orientada a Objetos IE
Programacion Orientada a Objetos IEKaren Olan
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetoschutas666
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetosjent46
 
PROGRAMACION ORIENTADA A OBJETO
PROGRAMACION ORIENTADA A OBJETOPROGRAMACION ORIENTADA A OBJETO
PROGRAMACION ORIENTADA A OBJETOAnabel Jaramillo
 
OOP-JS pjs
OOP-JS pjsOOP-JS pjs
OOP-JS pjsJona Val
 
11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()Clara Patricia Avella Ibañez
 

What's hot (20)

Jyoc java-cap10 clases complementarias y enumerados
Jyoc java-cap10 clases complementarias y enumeradosJyoc java-cap10 clases complementarias y enumerados
Jyoc java-cap10 clases complementarias y enumerados
 
Elementos de una clase
Elementos de una claseElementos de una clase
Elementos de una clase
 
Definición de clases en POO
Definición de clases en POODefinición de clases en POO
Definición de clases en POO
 
Jyoc java-cap08 principios poo
Jyoc java-cap08 principios pooJyoc java-cap08 principios poo
Jyoc java-cap08 principios poo
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
 
Intro aplicaciones web con php
Intro aplicaciones web con phpIntro aplicaciones web con php
Intro aplicaciones web con php
 
ProgramacióN Orientada A Objetos
ProgramacióN Orientada A ObjetosProgramacióN Orientada A Objetos
ProgramacióN Orientada A Objetos
 
Introduccion poo2
Introduccion poo2Introduccion poo2
Introduccion poo2
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetos
 
5.1 estructura de una clase.
5.1 estructura de una clase.5.1 estructura de una clase.
5.1 estructura de una clase.
 
Conceptos poo progra visual
Conceptos poo progra visualConceptos poo progra visual
Conceptos poo progra visual
 
Programacion Orientada a Objetos IE
Programacion Orientada a Objetos IEProgramacion Orientada a Objetos IE
Programacion Orientada a Objetos IE
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetos
 
PROGRAMACION ORIENTADA A OBJETO
PROGRAMACION ORIENTADA A OBJETOPROGRAMACION ORIENTADA A OBJETO
PROGRAMACION ORIENTADA A OBJETO
 
OOP-JS pjs
OOP-JS pjsOOP-JS pjs
OOP-JS pjs
 
Conceptos poo (presentación1)
Conceptos poo (presentación1)Conceptos poo (presentación1)
Conceptos poo (presentación1)
 
Semana 1 Estructuras de Control en Java
Semana 1   Estructuras de Control en JavaSemana 1   Estructuras de Control en Java
Semana 1 Estructuras de Control en Java
 
11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 

More from Andres Bedoya Tobon

Enums, constantes, listas e interfaces
Enums, constantes, listas e interfacesEnums, constantes, listas e interfaces
Enums, constantes, listas e interfacesAndres Bedoya Tobon
 
Taller estudio - Estructuras de control VBA - Excel
Taller estudio - Estructuras de control VBA - ExcelTaller estudio - Estructuras de control VBA - Excel
Taller estudio - Estructuras de control VBA - ExcelAndres Bedoya Tobon
 
Entrada y salida, manejo de cadenas de texto
Entrada y salida, manejo de cadenas de textoEntrada y salida, manejo de cadenas de texto
Entrada y salida, manejo de cadenas de textoAndres Bedoya Tobon
 
Progra-Amando Medellin Tech Fest
Progra-Amando Medellin Tech FestProgra-Amando Medellin Tech Fest
Progra-Amando Medellin Tech FestAndres Bedoya Tobon
 
Excel - Variables y condicionales
Excel - Variables y condicionalesExcel - Variables y condicionales
Excel - Variables y condicionalesAndres Bedoya Tobon
 
Elementos de programacion - Excel
Elementos de programacion - ExcelElementos de programacion - Excel
Elementos de programacion - ExcelAndres Bedoya Tobon
 
Programación y diseño orientado a objetos
Programación y diseño orientado a objetosProgramación y diseño orientado a objetos
Programación y diseño orientado a objetosAndres Bedoya Tobon
 
Progra-amando <3 (Amor por la programación)
Progra-amando <3 (Amor por la programación)Progra-amando <3 (Amor por la programación)
Progra-amando <3 (Amor por la programación)Andres Bedoya Tobon
 
Presentación 13 Paso por referencia
Presentación 13 Paso por referenciaPresentación 13 Paso por referencia
Presentación 13 Paso por referenciaAndres Bedoya Tobon
 

More from Andres Bedoya Tobon (20)

Enums, constantes, listas e interfaces
Enums, constantes, listas e interfacesEnums, constantes, listas e interfaces
Enums, constantes, listas e interfaces
 
VBA Interfaz de usuario
VBA Interfaz de usuarioVBA Interfaz de usuario
VBA Interfaz de usuario
 
VBA Interfaz de usuario
VBA Interfaz de usuarioVBA Interfaz de usuario
VBA Interfaz de usuario
 
Taller estudio - Estructuras de control VBA - Excel
Taller estudio - Estructuras de control VBA - ExcelTaller estudio - Estructuras de control VBA - Excel
Taller estudio - Estructuras de control VBA - Excel
 
Entrada y salida, manejo de cadenas de texto
Entrada y salida, manejo de cadenas de textoEntrada y salida, manejo de cadenas de texto
Entrada y salida, manejo de cadenas de texto
 
Progra-Amando Medellin Tech Fest
Progra-Amando Medellin Tech FestProgra-Amando Medellin Tech Fest
Progra-Amando Medellin Tech Fest
 
01 curso poo Funciones
01 curso poo Funciones01 curso poo Funciones
01 curso poo Funciones
 
Excel - Variables y condicionales
Excel - Variables y condicionalesExcel - Variables y condicionales
Excel - Variables y condicionales
 
Excel - Macros
Excel - MacrosExcel - Macros
Excel - Macros
 
Elementos de programacion 02
Elementos de programacion 02Elementos de programacion 02
Elementos de programacion 02
 
Taller de estudio - Excel
Taller de estudio - ExcelTaller de estudio - Excel
Taller de estudio - Excel
 
Elementos de programacion - Excel
Elementos de programacion - ExcelElementos de programacion - Excel
Elementos de programacion - Excel
 
Automatizar tareas usando GAP
Automatizar tareas usando GAPAutomatizar tareas usando GAP
Automatizar tareas usando GAP
 
Pull request - Hacktoberfest
Pull request - Hacktoberfest Pull request - Hacktoberfest
Pull request - Hacktoberfest
 
Abc tipografico Medellin CSS
Abc tipografico Medellin CSSAbc tipografico Medellin CSS
Abc tipografico Medellin CSS
 
Programación y diseño orientado a objetos
Programación y diseño orientado a objetosProgramación y diseño orientado a objetos
Programación y diseño orientado a objetos
 
Clean code
Clean codeClean code
Clean code
 
Progra-amando <3 (Amor por la programación)
Progra-amando <3 (Amor por la programación)Progra-amando <3 (Amor por la programación)
Progra-amando <3 (Amor por la programación)
 
Presentación 13 Paso por referencia
Presentación 13 Paso por referenciaPresentación 13 Paso por referencia
Presentación 13 Paso por referencia
 
Presentación 12 Paso por copia
Presentación 12 Paso por copiaPresentación 12 Paso por copia
Presentación 12 Paso por copia
 

Recently uploaded

ESTEREOTIPOS DE GÉNERO A LAS PERSONAS? (Grupo)
ESTEREOTIPOS DE GÉNERO A LAS PERSONAS? (Grupo)ESTEREOTIPOS DE GÉNERO A LAS PERSONAS? (Grupo)
ESTEREOTIPOS DE GÉNERO A LAS PERSONAS? (Grupo)portafoliodigitalyos
 
PLAN DE GESTION DEL RIESGO 2023 - 2024.docx
PLAN DE GESTION DEL RIESGO  2023 - 2024.docxPLAN DE GESTION DEL RIESGO  2023 - 2024.docx
PLAN DE GESTION DEL RIESGO 2023 - 2024.docxpily R.T.
 
CONCLUSIONES DESCRIPTIVAS TIC que ayudaran a tus registrosdocx
CONCLUSIONES DESCRIPTIVAS TIC que ayudaran a tus registrosdocxCONCLUSIONES DESCRIPTIVAS TIC que ayudaran a tus registrosdocx
CONCLUSIONES DESCRIPTIVAS TIC que ayudaran a tus registrosdocxMarlynRocaOnofre
 
11.NEOLIBERALISMO: que es, ventajas, desventajas, consecuenciaspptx
11.NEOLIBERALISMO: que es, ventajas, desventajas, consecuenciaspptx11.NEOLIBERALISMO: que es, ventajas, desventajas, consecuenciaspptx
11.NEOLIBERALISMO: que es, ventajas, desventajas, consecuenciaspptxFESARAUGUSTOFANDIORI
 
Comunidades Virtuales de Aprendizaje Caracteristicas.pptx
Comunidades Virtuales de Aprendizaje Caracteristicas.pptxComunidades Virtuales de Aprendizaje Caracteristicas.pptx
Comunidades Virtuales de Aprendizaje Caracteristicas.pptxJunkotantik
 
Diagnostico del corregimiento de Junin del municipio de Barbacoas
Diagnostico del corregimiento de Junin del municipio de BarbacoasDiagnostico del corregimiento de Junin del municipio de Barbacoas
Diagnostico del corregimiento de Junin del municipio de Barbacoasadvavillacorte123
 
Tipologías de vínculos afectivos (grupo)
Tipologías de vínculos afectivos (grupo)Tipologías de vínculos afectivos (grupo)
Tipologías de vínculos afectivos (grupo)portafoliodigitalyos
 
LA ILIADA Y LA ODISEA.LITERATURA UNIVERSAL
LA ILIADA Y LA ODISEA.LITERATURA UNIVERSALLA ILIADA Y LA ODISEA.LITERATURA UNIVERSAL
LA ILIADA Y LA ODISEA.LITERATURA UNIVERSALJorge Castillo
 
2. Entornos Virtuales de Aprendizaje.pptx
2. Entornos Virtuales de Aprendizaje.pptx2. Entornos Virtuales de Aprendizaje.pptx
2. Entornos Virtuales de Aprendizaje.pptxJunkotantik
 
PROPIEDADES DE LA LUZ. TIPLER. FÍSICA. PROBLEMAS
PROPIEDADES DE LA LUZ. TIPLER. FÍSICA. PROBLEMASPROPIEDADES DE LA LUZ. TIPLER. FÍSICA. PROBLEMAS
PROPIEDADES DE LA LUZ. TIPLER. FÍSICA. PROBLEMASjolopezpla1
 
TERCER GRADO PROGRAMACION ANUAL CCSS 3° - 2024.docx
TERCER GRADO PROGRAMACION ANUAL CCSS 3° - 2024.docxTERCER GRADO PROGRAMACION ANUAL CCSS 3° - 2024.docx
TERCER GRADO PROGRAMACION ANUAL CCSS 3° - 2024.docxlitaroxselyperezmont
 
proyecto semana de los Jardines, actividades a realizar para resaltar esta fecha
proyecto semana de los Jardines, actividades a realizar para resaltar esta fechaproyecto semana de los Jardines, actividades a realizar para resaltar esta fecha
proyecto semana de los Jardines, actividades a realizar para resaltar esta fechanitoagurto67
 
PROBLEMAS DE GENÉTICA CON ÁRBOLES GENEALÓGICOS.pdf
PROBLEMAS DE GENÉTICA  CON ÁRBOLES GENEALÓGICOS.pdfPROBLEMAS DE GENÉTICA  CON ÁRBOLES GENEALÓGICOS.pdf
PROBLEMAS DE GENÉTICA CON ÁRBOLES GENEALÓGICOS.pdfmihayedo
 
METODOS DE EXTRACCIÓN E IDENTIFICACIÓN - 2024.pdf
METODOS DE EXTRACCIÓN E IDENTIFICACIÓN - 2024.pdfMETODOS DE EXTRACCIÓN E IDENTIFICACIÓN - 2024.pdf
METODOS DE EXTRACCIÓN E IDENTIFICACIÓN - 2024.pdfNilssaRojas1
 
DESCRIPCIÓN-LOS-DILEMAS-DEL-CONOCIMIENTO.pptx
DESCRIPCIÓN-LOS-DILEMAS-DEL-CONOCIMIENTO.pptxDESCRIPCIÓN-LOS-DILEMAS-DEL-CONOCIMIENTO.pptx
DESCRIPCIÓN-LOS-DILEMAS-DEL-CONOCIMIENTO.pptxMARCOSMARTINALACAYOP1
 
Gran Final Campeonato Nacional Escolar Liga Las Torres 2017.pdf
Gran Final Campeonato Nacional Escolar Liga Las Torres 2017.pdfGran Final Campeonato Nacional Escolar Liga Las Torres 2017.pdf
Gran Final Campeonato Nacional Escolar Liga Las Torres 2017.pdfEdgar R Gimenez
 
LA GEOMETRÍA Y LOS SISTEMAS ANGULARES, APRENDER LEYENDO LA BIBLIA
LA GEOMETRÍA Y LOS SISTEMAS ANGULARES, APRENDER LEYENDO LA BIBLIALA GEOMETRÍA Y LOS SISTEMAS ANGULARES, APRENDER LEYENDO LA BIBLIA
LA GEOMETRÍA Y LOS SISTEMAS ANGULARES, APRENDER LEYENDO LA BIBLIASandra Mariela Ballón Aguedo
 
1 CARTILLA DE CATEQUESIS año biblico 2023-2024.pdf
1 CARTILLA DE CATEQUESIS año biblico 2023-2024.pdf1 CARTILLA DE CATEQUESIS año biblico 2023-2024.pdf
1 CARTILLA DE CATEQUESIS año biblico 2023-2024.pdffaustozurita
 

Recently uploaded (20)

ESTEREOTIPOS DE GÉNERO A LAS PERSONAS? (Grupo)
ESTEREOTIPOS DE GÉNERO A LAS PERSONAS? (Grupo)ESTEREOTIPOS DE GÉNERO A LAS PERSONAS? (Grupo)
ESTEREOTIPOS DE GÉNERO A LAS PERSONAS? (Grupo)
 
La historia de la vida estudiantil a 102 años de la fundación de las Normales...
La historia de la vida estudiantil a 102 años de la fundación de las Normales...La historia de la vida estudiantil a 102 años de la fundación de las Normales...
La historia de la vida estudiantil a 102 años de la fundación de las Normales...
 
PLAN DE GESTION DEL RIESGO 2023 - 2024.docx
PLAN DE GESTION DEL RIESGO  2023 - 2024.docxPLAN DE GESTION DEL RIESGO  2023 - 2024.docx
PLAN DE GESTION DEL RIESGO 2023 - 2024.docx
 
CONCLUSIONES DESCRIPTIVAS TIC que ayudaran a tus registrosdocx
CONCLUSIONES DESCRIPTIVAS TIC que ayudaran a tus registrosdocxCONCLUSIONES DESCRIPTIVAS TIC que ayudaran a tus registrosdocx
CONCLUSIONES DESCRIPTIVAS TIC que ayudaran a tus registrosdocx
 
11.NEOLIBERALISMO: que es, ventajas, desventajas, consecuenciaspptx
11.NEOLIBERALISMO: que es, ventajas, desventajas, consecuenciaspptx11.NEOLIBERALISMO: que es, ventajas, desventajas, consecuenciaspptx
11.NEOLIBERALISMO: que es, ventajas, desventajas, consecuenciaspptx
 
Comunidades Virtuales de Aprendizaje Caracteristicas.pptx
Comunidades Virtuales de Aprendizaje Caracteristicas.pptxComunidades Virtuales de Aprendizaje Caracteristicas.pptx
Comunidades Virtuales de Aprendizaje Caracteristicas.pptx
 
Diagnostico del corregimiento de Junin del municipio de Barbacoas
Diagnostico del corregimiento de Junin del municipio de BarbacoasDiagnostico del corregimiento de Junin del municipio de Barbacoas
Diagnostico del corregimiento de Junin del municipio de Barbacoas
 
Tipologías de vínculos afectivos (grupo)
Tipologías de vínculos afectivos (grupo)Tipologías de vínculos afectivos (grupo)
Tipologías de vínculos afectivos (grupo)
 
LA ILIADA Y LA ODISEA.LITERATURA UNIVERSAL
LA ILIADA Y LA ODISEA.LITERATURA UNIVERSALLA ILIADA Y LA ODISEA.LITERATURA UNIVERSAL
LA ILIADA Y LA ODISEA.LITERATURA UNIVERSAL
 
2. Entornos Virtuales de Aprendizaje.pptx
2. Entornos Virtuales de Aprendizaje.pptx2. Entornos Virtuales de Aprendizaje.pptx
2. Entornos Virtuales de Aprendizaje.pptx
 
PROPIEDADES DE LA LUZ. TIPLER. FÍSICA. PROBLEMAS
PROPIEDADES DE LA LUZ. TIPLER. FÍSICA. PROBLEMASPROPIEDADES DE LA LUZ. TIPLER. FÍSICA. PROBLEMAS
PROPIEDADES DE LA LUZ. TIPLER. FÍSICA. PROBLEMAS
 
TERCER GRADO PROGRAMACION ANUAL CCSS 3° - 2024.docx
TERCER GRADO PROGRAMACION ANUAL CCSS 3° - 2024.docxTERCER GRADO PROGRAMACION ANUAL CCSS 3° - 2024.docx
TERCER GRADO PROGRAMACION ANUAL CCSS 3° - 2024.docx
 
proyecto semana de los Jardines, actividades a realizar para resaltar esta fecha
proyecto semana de los Jardines, actividades a realizar para resaltar esta fechaproyecto semana de los Jardines, actividades a realizar para resaltar esta fecha
proyecto semana de los Jardines, actividades a realizar para resaltar esta fecha
 
PROBLEMAS DE GENÉTICA CON ÁRBOLES GENEALÓGICOS.pdf
PROBLEMAS DE GENÉTICA  CON ÁRBOLES GENEALÓGICOS.pdfPROBLEMAS DE GENÉTICA  CON ÁRBOLES GENEALÓGICOS.pdf
PROBLEMAS DE GENÉTICA CON ÁRBOLES GENEALÓGICOS.pdf
 
METODOS DE EXTRACCIÓN E IDENTIFICACIÓN - 2024.pdf
METODOS DE EXTRACCIÓN E IDENTIFICACIÓN - 2024.pdfMETODOS DE EXTRACCIÓN E IDENTIFICACIÓN - 2024.pdf
METODOS DE EXTRACCIÓN E IDENTIFICACIÓN - 2024.pdf
 
DESCRIPCIÓN-LOS-DILEMAS-DEL-CONOCIMIENTO.pptx
DESCRIPCIÓN-LOS-DILEMAS-DEL-CONOCIMIENTO.pptxDESCRIPCIÓN-LOS-DILEMAS-DEL-CONOCIMIENTO.pptx
DESCRIPCIÓN-LOS-DILEMAS-DEL-CONOCIMIENTO.pptx
 
Luz desde el santuario. Escuela Sabática
Luz desde el santuario. Escuela SabáticaLuz desde el santuario. Escuela Sabática
Luz desde el santuario. Escuela Sabática
 
Gran Final Campeonato Nacional Escolar Liga Las Torres 2017.pdf
Gran Final Campeonato Nacional Escolar Liga Las Torres 2017.pdfGran Final Campeonato Nacional Escolar Liga Las Torres 2017.pdf
Gran Final Campeonato Nacional Escolar Liga Las Torres 2017.pdf
 
LA GEOMETRÍA Y LOS SISTEMAS ANGULARES, APRENDER LEYENDO LA BIBLIA
LA GEOMETRÍA Y LOS SISTEMAS ANGULARES, APRENDER LEYENDO LA BIBLIALA GEOMETRÍA Y LOS SISTEMAS ANGULARES, APRENDER LEYENDO LA BIBLIA
LA GEOMETRÍA Y LOS SISTEMAS ANGULARES, APRENDER LEYENDO LA BIBLIA
 
1 CARTILLA DE CATEQUESIS año biblico 2023-2024.pdf
1 CARTILLA DE CATEQUESIS año biblico 2023-2024.pdf1 CARTILLA DE CATEQUESIS año biblico 2023-2024.pdf
1 CARTILLA DE CATEQUESIS año biblico 2023-2024.pdf
 

04 curso poo Herencia

  • 1. O O P 04 Nueva edición - 2020 progra_amandoholamundo.co 1/14@xacarana
  • 3. Herencia Con el fin de especializar las car- acterísticas de la clase Galleta, es posible crear una nueva clase que herede las propiedades y carac- terísticas de una clase superior llamada padre. La clase hija hereda propiedades y métodos del padre y puede ten- er nuevas propiedades y métodos. Se dice que la clase hija posee una relación de tipo “es-un” con la clase padre. Otras galletas, clases hijas: Helado, para perro, integrales, saladas, mini-galletas, vegana, artificial, etc. Galleta - nombre:cadena - ingredientes:cadena[] - codigo_sabor:entero + setter y getter propiedades + MarcaGalleta():cadena + FechaVencimiento():Fecha Wafer - relleno:booleano - medidas:entero[] - es_dietetica:booleano + setter y getter propiedades + AsignarRelleno():void + PegarGalletas():void Fortuna - relleno:booleano - empaque:booleano - mensaje:cadena + setter y getter propiedades + MensajeAletorio():void + DestaparGalleta():cadena Pretzel - numero_vueltas:entero - medidas:entero[] - tiene_sal:booleano + setter y getter propiedades + Adornar():void + Doblar():void ... es una es una es una Clase Padre Clases Hijas La relación se lee: Wafer es una Galleta 3/14@xacarana
  • 4. Galleta GalletaHelado GalletaRectangular Jerarquía de clases Solo se puede heredar de una sola clase y múltiples clases pueden heredar de la misma clase. Cada vez que se hereda de una clase, se busca especializar las propiedades y funcionalidades de la clase. Se puede decir que: La clase GalletaHelado, hereda de la clase Galleta y GalletaRectangular 4/14@xacarana
  • 5. Creación de la clase Padre class Galleta { private string nombre; // ... resto de miembros dato public void FechaVencimiento() { Console.WriteLine("23/03/2021"); } // ... resto de métodos public string Nombre { get => nombre; set => nombre = value; } // ... resto de setter y getters } La clase padre no sufre ningún cambio en su implementación, es importante tener en cuenta identificar propiedades y acciones que deban estar en ella, para luego ser heredadas por las hijas. 5/14@xacarana
  • 6. Creación de la clase hija La clase hija, se dice que extiende de la clase padre, para definir esta relación se usan : (dos puntos) como se muestra en el ejemplo. class GalletaCuadrada:Galleta { public void Congelar() { Console.WriteLine("Galleta congelada"); } } Nuevo método clase hija 6/14@xacarana
  • 7. Uso de propiedades Al crear una clase hija, se heredan las propiedades y métodos de la clase pa- dre, es posible acceder a esta información desde las clases hijas. GalletaRectangular gr = new GalletaRectangular(); gr.Nombre = “Biscuit”; gr.BordeOvalado(true); Se asigna el nombre, que es una propiedad heredada El método BordeOvalado es una nueva acción, dis- ponible solo en la clase hija 7/14@xacarana
  • 8. Uso de métodos Las clases hijas definen acciones especializadas adicionales que no tienen la clase padre, de esta forma las hijas, seguiran haciendo una sola cosa bien, la clase padre es generalista y las hijas especialistas. GalletaRectangular gr = new GalletaRectangular(); gr.Congelar(); gr.FechaDeVencimiento(); Congelar es una acción nueva definida solo en la clase hija Acción heredada de la clase padre, que comparten las clases hijas. No se redefine 8/14@xacarana
  • 9. Manejo de referencias Teniendo en cuenta la relación “es un” presente entre la clase padre y la clase hija, se pueden usar la clase padre como variable contenedora de sus hijas, la clase padre actua como una envoltura (wrapper) Galleta galleta = new GalletaRectangular(); galleta.FechaVencimiento(); Console.WriteLine(galleta.Nombre); Se invoca una acción de la clase padre, que ha sido here- dada Otra forma de acceder a los getters heredados 9/14@xacarana
  • 10. Casting Se refiere a una operación de conversión entre dos tipos de datos diferentes pero que pueden llegar a ser compatibles porque comparten propiedades, acciones o pertenencen al mismo conjunto. Si hablamos de números, el casting es el proceso de convertir un número en otro compatible Si hablamos de clases, el cast- ing es el proceso de convertir una clase a otra compatible. Si hay una relación de herencia, es posible realizar casting. 5 5.0 int double GalletaFortuna Galleta 10/14@xacarana
  • 11. Casting implícito Se realiza un casting implícito cuando la conversión entre datos se puede hacer de manera transparente, es decir sin que se afecten las operaciones que se vayan a realizar con los datos luego de la conversión 5 int x x = y 5.3 double y y = 5.3 y * 2 x5 5.0 int x double y x = 5 y = x y * 2 Pérdida de datos Error al realizar la conversión Este error, se detecta en tiempo de compilación 11/14@xacarana
  • 12. Casting explícito Se presenta cuando la conversión se puede realizar porque hay dos tipos compatibles, pero no es obvía o puede traer problemas de precisión en las operaciones entre variables. Galleta gr = new GalletaRectangular(); ((GalletaRectangular)gr).Congelar(); int x = (int)Math.PI; Se convierte el objeto a su tipo específico y luego se usa una acción. Pérdida de precisión, el casting autoriza la operación 12/14@xacarana
  • 13. Polimorfismo Al comportamiento que asume la clase padre como wrapper contenedor, se le conoce como polimorfismo, ya que una referencia de un tipo padre, puede asumir el rol de cualquiera de sus hijas, esto hace que sea versatil y una forma de guardar una referencia que puede conteneer cualquier clase hija. La referencia se convierte en la base que puede contener a sus hijas, las cuales son diferentes y especializadas, pero tienen similitudes, ya que ex- tiende de un mismo padre. El arreglo de tipo Galleta, puede contener galletas hijas de diferente tipo, las cuales tienen en común que son Galletas, por la relación de herencia. Galleta[] hijas = {new GalletaRectangular(), new Oreo(), new Fortuna()}; 13/14@xacarana
  • 14. Ejercicios • Crear 5 clases diferentes que hereden de un concepto en común • Crear una clase que tenga una herencia de varios niveles, por ejemplo GalletaHelado, hereda de GalletaCuadrada y Galleta cuadrada hereda de Galleta. GalletaHelado es nivel 3. • ¿De cuantas clases puede heredar una clase hija? • Crear un arreglo de una clase Padre, crear instancias de clases hijas y por medio de un ciclo, recorrer el arreglo e invocar un método en común. • Crear el diagrama de clases de la clase Animal, Tiburon, Leon, Tortuga, Mico, Loro. Ob- serve que hay animales terrestres, acuaticos y areos, evidence estas propiedades en el diagrama. • En una jerarquía de 5 clases, cree una instancia de la última clase y la guarda en una referencia de la clase padre, luego por medio de casting explicito, llame métodos pre- sentes en cada clase especifica. • Cree tres clases hijas, con diferentes constructores que permitan inicializar miembros datos propios y heredados • ¿Cual es el valor por defecto de los miembros datos de una clase hija? ¿Y el valor por defecto de miembros dato heredados? 14/14@xacarana