SlideShare una empresa de Scribd logo
1 de 20
Tipos de herencia
Material de apoyo POO
Ahora que ya hemos visto el concepto
básico de herencia…
• Veremos los diferentes tipos de herencia que
podemos tener:
2Mtl. Lourdes Cahuich
Herencia sencilla
Clase Madera
Clase Mueble
class Mueble : public Madera
3Mtl. Lourdes Cahuich
Herencia jerárquica
Clase Tela
Clase Ropa Hombre Clase Ropa Mujer
class Ropa_Hombre: public Tela
class Ropa_Mujer: public Tela 4Mtl. Lourdes Cahuich
Herencia multi nivel
Clase A
Clase B
Clase C
class A
{…}
class B : public A
{…}
class C : public B
{…}
5Mtl. Lourdes Cahuich
Herencia múltiple
*No aplica en C#
Clase B3
Clase D
Clase B2Clase B1
class D : public B1, public B2, private B3
6Mtl. Lourdes Cahuich
Especificadores de acceso y la herencia
• La herencia puede ser declarada pública,
privada o protegida.
• En toda la declaración de clases derivadas, la
primera palabra es “class”.
• Después va el nombre de la clase derivada,
seguida de dos puntos (:)
• Finalmente se pone el especificador de acceso
y el nombre de la clase base.
7Mtl. Lourdes Cahuich
Especificadores de acceso en herencia
*No aplica en C#
class D : public B //herencia pública
class D : protected B //herencia protegida
class D : private B //herencia privada
class D : B //default es privado
8Mtl. Lourdes Cahuich
Herencia pública
• Las funciones y miembros públicos de la clase
base (general) pueden ser usados
directamente por los miembros de la clase
derivada (especializada).
9Mtl. Lourdes Cahuich
Herencia pública
• Los elementos protegidos de la clase base sólo
pueden usarse por la clase derivada a través
de sus miembros públicos.
10Mtl. Lourdes Cahuich
Herencia pública
• Los elementos privados de la clase base no
son visibles en la clase derivada; sólo pueden
accederse mediante los métodos públicos
setters/getters de la clase base.
11Mtl. Lourdes Cahuich
El ejemplo que vimos la clase
anterior…
• Es una herencia sencilla pública.
• Ahora veremos algunos de los otros tipos de
herencia.
12Mtl. Lourdes Cahuich
Herencia pública sencilla con miembros
privados, protegidos y públicos.
public class B
{ //propiedades
private int p_b; //miembro privado clase base
protected int m_b; //miembro protegido clase base
public int k_b; //miembro público clase base
//métodos
public int cuadrado() { return k_b * k_b; } //propiedad pública
public int producto() { return k_b * m_b; } //propiedad protegida
public int otroProducto() { return p_b*k_b; } //funcion propiedad privada
//setters/getters
public void escribeP(int num){ p_b = num; }
public void escribeM(int num) { m_b = num; }
} //Fin clase B (Base)
13Mtl. Lourdes Cahuich
Herencia pública sencilla con miembros
privados, protegidos y públicos.
public class D : B //Herencia sencilla
{ //propiedades de clase derivada
public int n_d;
//métodos
public void setvalueBase(int a) { m_b = a; }
public void setvalueN(int a) { n_d = a; }
public int prodNporM() { return n_d * m_b; }
} //Fin clase D (Derivada)
14Mtl. Lourdes Cahuich
Probar herencia sencilla
private void btnPruebaHerencia_Click(object sender, EventArgs e)
{
D Cl = new D(); //se crea objeto de clase derivada
Cl.k_b = 9; //Acceso directo a k de la clase B (base)
Cl.setvalueBase(6);
//Cl.p = 0; //acceso a miembro privado de clase base
Cl.escribeP(5);//funcion publica para modificar miembro privado clase base
lblMostrarHerencia.Text = "Cuadrado "+Cl.cuadrado().ToString() +
", Producto " + Cl.producto().ToString();
lblMostrarHerencia.Text = lblMostrarHerencia.Text +"n Otro producto "+
Cl.otroProducto().ToString();
}
15Mtl. Lourdes Cahuich
Herencia multi-nivel
Clase A
Clase B
Clase C
16Mtl. Lourdes Cahuich
Código ejemplo herencia multi-nivel
• Además de las dos clases que ya vimos,
agregamos:
public class C : D
{
public int c_c=5;
public int productoDeTodos(){
//m clase abuelo, n clase padre, cc clase nieta
return (k_b * n_d * c_c);
}
}
17Mtl. Lourdes Cahuich
private void btnHerenciaMultinivel_Click(object sender, EventArgs e)
{
C hijo = new C();
hijo.k_b = 4;//propiedad publica clase base (abuelo)
hijo.n_d = 9; //propiedad publica clase derivada (padre)
hijo.c_c = 10; //propiedad publica clase 2a derivada (hijo)
lblHerenciaMultinivel.Text = "Multiplicacion de propiedades de
las clases n hijo, padre, abuelo " +
hijo.productoDeTodos();
}
18Mtl. Lourdes Cahuich
19Mtl. Lourdes Cahuich
Tarea 7
• Crear el diagrama UML para la herencia multi
nivel que programamos en C#
• Recuerda respetar la notación detallada de
clase de UML para cada una de las clases y la
notación para todos los métodos y
propiedades de cada una de las clases.
• Envía al correo del docente antes de la
siguiente sesión.
20Mtl. Lourdes Cahuich

Más contenido relacionado

La actualidad más candente

Programacion Orientada a Objetos - Undiad 4 polimorfismo
Programacion Orientada a Objetos - Undiad 4 polimorfismoProgramacion Orientada a Objetos - Undiad 4 polimorfismo
Programacion Orientada a Objetos - Undiad 4 polimorfismoJosé Antonio Sandoval Acosta
 
tarea 6 sistemas digitales y perifericos.docx
tarea 6 sistemas digitales y perifericos.docxtarea 6 sistemas digitales y perifericos.docx
tarea 6 sistemas digitales y perifericos.docxDeanneySandoval
 
Programación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaProgramación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaAngel Vázquez Patiño
 
Programación Orientada a Objetos vs Programación Estructurada
Programación Orientada a Objetos vs Programación EstructuradaProgramación Orientada a Objetos vs Programación Estructurada
Programación Orientada a Objetos vs Programación EstructuradaMichael de la Cruz
 
Diseños estructurales usando uml con clases de análisis y modelos de diseño
Diseños estructurales usando uml con clases de análisis y modelos de diseñoDiseños estructurales usando uml con clases de análisis y modelos de diseño
Diseños estructurales usando uml con clases de análisis y modelos de diseñoJuan Jose Gonzalez Faundez
 
Generador de codigo intermedio
Generador de codigo intermedioGenerador de codigo intermedio
Generador de codigo intermedioGuillermo
 
Ciclo de instrucciones CPU
Ciclo de instrucciones CPUCiclo de instrucciones CPU
Ciclo de instrucciones CPUEduardo Suarez
 
Programación Orientada a Objetos - constructores y destructores
Programación Orientada a Objetos - constructores y destructoresProgramación Orientada a Objetos - constructores y destructores
Programación Orientada a Objetos - constructores y destructoresAlvaro Enrique Ruano
 
Programacion display 16 segmentos
Programacion display 16 segmentosProgramacion display 16 segmentos
Programacion display 16 segmentosNoe Landin
 
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 objetosClara Patricia Avella Ibañez
 
Pic16f877 guia detallada parte2
Pic16f877 guia detallada parte2Pic16f877 guia detallada parte2
Pic16f877 guia detallada parte2Alejandro Garcia
 
Monitores-sistemas operativos
Monitores-sistemas operativosMonitores-sistemas operativos
Monitores-sistemas operativosDaniel Vargas
 

La actualidad más candente (20)

Programacion Orientada a Objetos - Undiad 4 polimorfismo
Programacion Orientada a Objetos - Undiad 4 polimorfismoProgramacion Orientada a Objetos - Undiad 4 polimorfismo
Programacion Orientada a Objetos - Undiad 4 polimorfismo
 
tarea 6 sistemas digitales y perifericos.docx
tarea 6 sistemas digitales y perifericos.docxtarea 6 sistemas digitales y perifericos.docx
tarea 6 sistemas digitales y perifericos.docx
 
P.O.O.
P.O.O.P.O.O.
P.O.O.
 
Programación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaProgramación 3: Clases y objetos en Java
Programación 3: Clases y objetos en Java
 
Programación Orientada a Objetos vs Programación Estructurada
Programación Orientada a Objetos vs Programación EstructuradaProgramación Orientada a Objetos vs Programación Estructurada
Programación Orientada a Objetos vs Programación Estructurada
 
Ataques a-bases-de-datos
Ataques a-bases-de-datosAtaques a-bases-de-datos
Ataques a-bases-de-datos
 
Diseños estructurales usando uml con clases de análisis y modelos de diseño
Diseños estructurales usando uml con clases de análisis y modelos de diseñoDiseños estructurales usando uml con clases de análisis y modelos de diseño
Diseños estructurales usando uml con clases de análisis y modelos de diseño
 
Generador de codigo intermedio
Generador de codigo intermedioGenerador de codigo intermedio
Generador de codigo intermedio
 
Ciclo de instrucciones CPU
Ciclo de instrucciones CPUCiclo de instrucciones CPU
Ciclo de instrucciones CPU
 
Windows forms c# visual basic .net ejercicios
Windows forms c# visual basic .net ejerciciosWindows forms c# visual basic .net ejercicios
Windows forms c# visual basic .net ejercicios
 
Programación Orientada a Objetos - constructores y destructores
Programación Orientada a Objetos - constructores y destructoresProgramación Orientada a Objetos - constructores y destructores
Programación Orientada a Objetos - constructores y destructores
 
Tipos de Datos Abstractos.
Tipos de Datos Abstractos.Tipos de Datos Abstractos.
Tipos de Datos Abstractos.
 
Programacion display 16 segmentos
Programacion display 16 segmentosProgramacion display 16 segmentos
Programacion display 16 segmentos
 
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
 
Star uml
Star umlStar uml
Star uml
 
Pic16f877 guia detallada parte2
Pic16f877 guia detallada parte2Pic16f877 guia detallada parte2
Pic16f877 guia detallada parte2
 
Monitores-sistemas operativos
Monitores-sistemas operativosMonitores-sistemas operativos
Monitores-sistemas operativos
 
DIAGRAMAS DE CLASE
DIAGRAMAS DE CLASEDIAGRAMAS DE CLASE
DIAGRAMAS DE CLASE
 
Procedimientos almacenados en MySQL
Procedimientos almacenados en MySQLProcedimientos almacenados en MySQL
Procedimientos almacenados en MySQL
 
Analizador Léxico en C++
Analizador Léxico en C++Analizador Léxico en C++
Analizador Léxico en C++
 

Similar a Tipos de herencia

Namespaces y C#
Namespaces y C#Namespaces y C#
Namespaces y C#UVM
 
Semana03_Sesión5_La Herenciazcz<cz<cz<c<zcz<c<zc<cz.pptx
Semana03_Sesión5_La Herenciazcz<cz<cz<c<zcz<c<zc<cz.pptxSemana03_Sesión5_La Herenciazcz<cz<cz<c<zcz<c<zc<cz.pptx
Semana03_Sesión5_La Herenciazcz<cz<cz<c<zcz<c<zc<cz.pptxSANTOS400018
 
Programacion orientada a objetos 1
Programacion orientada a objetos 1Programacion orientada a objetos 1
Programacion orientada a objetos 1mellcv
 
Lenguajes de Programación: Herencia, Polimorfismo Y UML
Lenguajes de Programación: Herencia, Polimorfismo Y UMLLenguajes de Programación: Herencia, Polimorfismo Y UML
Lenguajes de Programación: Herencia, Polimorfismo Y UMLLuis Fernando Aguas Bucheli
 
JAVA_BASICO_modo_consola_introduccion.pptx
JAVA_BASICO_modo_consola_introduccion.pptxJAVA_BASICO_modo_consola_introduccion.pptx
JAVA_BASICO_modo_consola_introduccion.pptxFamiliaAyluardo
 
POO-3-Herencia-10-11.pdf
POO-3-Herencia-10-11.pdfPOO-3-Herencia-10-11.pdf
POO-3-Herencia-10-11.pdfNone
 
programacion orientada a objetos en visual basic net
programacion orientada a objetos en visual basic netprogramacion orientada a objetos en visual basic net
programacion orientada a objetos en visual basic netpp mm
 
Creación de archivos de clases en c#
Creación de archivos de clases en c#Creación de archivos de clases en c#
Creación de archivos de clases en c#UVM
 
Jerarquía de clases, herencia, polimorfismo
Jerarquía de clases, herencia, polimorfismoJerarquía de clases, herencia, polimorfismo
Jerarquía de clases, herencia, polimorfismoEdwin Loayza
 
Herencia 1ª parte
Herencia 1ª parteHerencia 1ª parte
Herencia 1ª parteUVM
 

Similar a Tipos de herencia (16)

Namespaces y C#
Namespaces y C#Namespaces y C#
Namespaces y C#
 
Herencia y polimorfismo
Herencia y polimorfismoHerencia y polimorfismo
Herencia y polimorfismo
 
Semana03_Sesión5_La Herenciazcz<cz<cz<c<zcz<c<zc<cz.pptx
Semana03_Sesión5_La Herenciazcz<cz<cz<c<zcz<c<zc<cz.pptxSemana03_Sesión5_La Herenciazcz<cz<cz<c<zcz<c<zc<cz.pptx
Semana03_Sesión5_La Herenciazcz<cz<cz<c<zcz<c<zc<cz.pptx
 
Programacion orientada a objetos 1
Programacion orientada a objetos 1Programacion orientada a objetos 1
Programacion orientada a objetos 1
 
Lenguajes de Programación: Herencia, Polimorfismo Y UML
Lenguajes de Programación: Herencia, Polimorfismo Y UMLLenguajes de Programación: Herencia, Polimorfismo Y UML
Lenguajes de Programación: Herencia, Polimorfismo Y UML
 
JAVA_BASICO_modo_consola_introduccion.pptx
JAVA_BASICO_modo_consola_introduccion.pptxJAVA_BASICO_modo_consola_introduccion.pptx
JAVA_BASICO_modo_consola_introduccion.pptx
 
Herencia
HerenciaHerencia
Herencia
 
Herencia
HerenciaHerencia
Herencia
 
POO-3-Herencia-10-11.pdf
POO-3-Herencia-10-11.pdfPOO-3-Herencia-10-11.pdf
POO-3-Herencia-10-11.pdf
 
Poo 3-herencia-10-11
Poo 3-herencia-10-11Poo 3-herencia-10-11
Poo 3-herencia-10-11
 
programacion orientada a objetos en visual basic net
programacion orientada a objetos en visual basic netprogramacion orientada a objetos en visual basic net
programacion orientada a objetos en visual basic net
 
Creación de archivos de clases en c#
Creación de archivos de clases en c#Creación de archivos de clases en c#
Creación de archivos de clases en c#
 
Poo3 java-0910
Poo3 java-0910Poo3 java-0910
Poo3 java-0910
 
Jerarquía de clases, herencia, polimorfismo
Jerarquía de clases, herencia, polimorfismoJerarquía de clases, herencia, polimorfismo
Jerarquía de clases, herencia, polimorfismo
 
Herencia 1ª parte
Herencia 1ª parteHerencia 1ª parte
Herencia 1ª parte
 
Herencia
HerenciaHerencia
Herencia
 

Más de UVM

Tiempo compartido en programación
Tiempo compartido en programaciónTiempo compartido en programación
Tiempo compartido en programaciónUVM
 
Portafolio de evidencias del curso Programación Avanzada
Portafolio de evidencias del curso Programación AvanzadaPortafolio de evidencias del curso Programación Avanzada
Portafolio de evidencias del curso Programación AvanzadaUVM
 
Eficiencia en uso tiempo
Eficiencia en uso  tiempoEficiencia en uso  tiempo
Eficiencia en uso tiempoUVM
 
Administración de memoria arreglos dinamicos
Administración de memoria arreglos dinamicosAdministración de memoria arreglos dinamicos
Administración de memoria arreglos dinamicosUVM
 
Practica de arreglos
Practica de arreglosPractica de arreglos
Practica de arreglosUVM
 
Otra introducción a apuntadores
Otra introducción a apuntadoresOtra introducción a apuntadores
Otra introducción a apuntadoresUVM
 
Ejemplo de solución de práctica funciones stl
Ejemplo de solución de práctica funciones stlEjemplo de solución de práctica funciones stl
Ejemplo de solución de práctica funciones stlUVM
 
Breve repaso de apuntadores
Breve repaso de apuntadoresBreve repaso de apuntadores
Breve repaso de apuntadoresUVM
 
Arreglos conceptos básicos
Arreglos conceptos básicosArreglos conceptos básicos
Arreglos conceptos básicosUVM
 
Resolución práctica de tipos de datos
Resolución práctica de tipos de datosResolución práctica de tipos de datos
Resolución práctica de tipos de datosUVM
 
Resumen de funciones
Resumen de funcionesResumen de funciones
Resumen de funcionesUVM
 
Biblioteca estándar de funciones
Biblioteca estándar de funcionesBiblioteca estándar de funciones
Biblioteca estándar de funcionesUVM
 
Manejo de bits
Manejo de bitsManejo de bits
Manejo de bitsUVM
 
Aclaración de dudas 4 de septiembre
Aclaración de dudas 4 de septiembreAclaración de dudas 4 de septiembre
Aclaración de dudas 4 de septiembreUVM
 
Aclaraciones varias a códigos entregados en sesión 3
Aclaraciones varias a códigos entregados en sesión 3Aclaraciones varias a códigos entregados en sesión 3
Aclaraciones varias a códigos entregados en sesión 3UVM
 
Funciones definidas por el usuario
Funciones definidas por el usuarioFunciones definidas por el usuario
Funciones definidas por el usuarioUVM
 
Función main()
Función main()Función main()
Función main()UVM
 
Depuración de un programa en c++
Depuración de un programa en c++Depuración de un programa en c++
Depuración de un programa en c++UVM
 
Algunas dudas de la sesión 28 agosto
Algunas dudas de la sesión 28 agostoAlgunas dudas de la sesión 28 agosto
Algunas dudas de la sesión 28 agostoUVM
 
Estructura programa c++
Estructura programa c++Estructura programa c++
Estructura programa c++UVM
 

Más de UVM (20)

Tiempo compartido en programación
Tiempo compartido en programaciónTiempo compartido en programación
Tiempo compartido en programación
 
Portafolio de evidencias del curso Programación Avanzada
Portafolio de evidencias del curso Programación AvanzadaPortafolio de evidencias del curso Programación Avanzada
Portafolio de evidencias del curso Programación Avanzada
 
Eficiencia en uso tiempo
Eficiencia en uso  tiempoEficiencia en uso  tiempo
Eficiencia en uso tiempo
 
Administración de memoria arreglos dinamicos
Administración de memoria arreglos dinamicosAdministración de memoria arreglos dinamicos
Administración de memoria arreglos dinamicos
 
Practica de arreglos
Practica de arreglosPractica de arreglos
Practica de arreglos
 
Otra introducción a apuntadores
Otra introducción a apuntadoresOtra introducción a apuntadores
Otra introducción a apuntadores
 
Ejemplo de solución de práctica funciones stl
Ejemplo de solución de práctica funciones stlEjemplo de solución de práctica funciones stl
Ejemplo de solución de práctica funciones stl
 
Breve repaso de apuntadores
Breve repaso de apuntadoresBreve repaso de apuntadores
Breve repaso de apuntadores
 
Arreglos conceptos básicos
Arreglos conceptos básicosArreglos conceptos básicos
Arreglos conceptos básicos
 
Resolución práctica de tipos de datos
Resolución práctica de tipos de datosResolución práctica de tipos de datos
Resolución práctica de tipos de datos
 
Resumen de funciones
Resumen de funcionesResumen de funciones
Resumen de funciones
 
Biblioteca estándar de funciones
Biblioteca estándar de funcionesBiblioteca estándar de funciones
Biblioteca estándar de funciones
 
Manejo de bits
Manejo de bitsManejo de bits
Manejo de bits
 
Aclaración de dudas 4 de septiembre
Aclaración de dudas 4 de septiembreAclaración de dudas 4 de septiembre
Aclaración de dudas 4 de septiembre
 
Aclaraciones varias a códigos entregados en sesión 3
Aclaraciones varias a códigos entregados en sesión 3Aclaraciones varias a códigos entregados en sesión 3
Aclaraciones varias a códigos entregados en sesión 3
 
Funciones definidas por el usuario
Funciones definidas por el usuarioFunciones definidas por el usuario
Funciones definidas por el usuario
 
Función main()
Función main()Función main()
Función main()
 
Depuración de un programa en c++
Depuración de un programa en c++Depuración de un programa en c++
Depuración de un programa en c++
 
Algunas dudas de la sesión 28 agosto
Algunas dudas de la sesión 28 agostoAlgunas dudas de la sesión 28 agosto
Algunas dudas de la sesión 28 agosto
 
Estructura programa c++
Estructura programa c++Estructura programa c++
Estructura programa c++
 

Último

La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docxAleParedes11
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.DaluiMonasterio
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfMARIAPAULAMAHECHAMOR
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfResolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 

Último (20)

La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
La Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdfLa Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdf
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdf
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfResolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 

Tipos de herencia

  • 2. Ahora que ya hemos visto el concepto básico de herencia… • Veremos los diferentes tipos de herencia que podemos tener: 2Mtl. Lourdes Cahuich
  • 3. Herencia sencilla Clase Madera Clase Mueble class Mueble : public Madera 3Mtl. Lourdes Cahuich
  • 4. Herencia jerárquica Clase Tela Clase Ropa Hombre Clase Ropa Mujer class Ropa_Hombre: public Tela class Ropa_Mujer: public Tela 4Mtl. Lourdes Cahuich
  • 5. Herencia multi nivel Clase A Clase B Clase C class A {…} class B : public A {…} class C : public B {…} 5Mtl. Lourdes Cahuich
  • 6. Herencia múltiple *No aplica en C# Clase B3 Clase D Clase B2Clase B1 class D : public B1, public B2, private B3 6Mtl. Lourdes Cahuich
  • 7. Especificadores de acceso y la herencia • La herencia puede ser declarada pública, privada o protegida. • En toda la declaración de clases derivadas, la primera palabra es “class”. • Después va el nombre de la clase derivada, seguida de dos puntos (:) • Finalmente se pone el especificador de acceso y el nombre de la clase base. 7Mtl. Lourdes Cahuich
  • 8. Especificadores de acceso en herencia *No aplica en C# class D : public B //herencia pública class D : protected B //herencia protegida class D : private B //herencia privada class D : B //default es privado 8Mtl. Lourdes Cahuich
  • 9. Herencia pública • Las funciones y miembros públicos de la clase base (general) pueden ser usados directamente por los miembros de la clase derivada (especializada). 9Mtl. Lourdes Cahuich
  • 10. Herencia pública • Los elementos protegidos de la clase base sólo pueden usarse por la clase derivada a través de sus miembros públicos. 10Mtl. Lourdes Cahuich
  • 11. Herencia pública • Los elementos privados de la clase base no son visibles en la clase derivada; sólo pueden accederse mediante los métodos públicos setters/getters de la clase base. 11Mtl. Lourdes Cahuich
  • 12. El ejemplo que vimos la clase anterior… • Es una herencia sencilla pública. • Ahora veremos algunos de los otros tipos de herencia. 12Mtl. Lourdes Cahuich
  • 13. Herencia pública sencilla con miembros privados, protegidos y públicos. public class B { //propiedades private int p_b; //miembro privado clase base protected int m_b; //miembro protegido clase base public int k_b; //miembro público clase base //métodos public int cuadrado() { return k_b * k_b; } //propiedad pública public int producto() { return k_b * m_b; } //propiedad protegida public int otroProducto() { return p_b*k_b; } //funcion propiedad privada //setters/getters public void escribeP(int num){ p_b = num; } public void escribeM(int num) { m_b = num; } } //Fin clase B (Base) 13Mtl. Lourdes Cahuich
  • 14. Herencia pública sencilla con miembros privados, protegidos y públicos. public class D : B //Herencia sencilla { //propiedades de clase derivada public int n_d; //métodos public void setvalueBase(int a) { m_b = a; } public void setvalueN(int a) { n_d = a; } public int prodNporM() { return n_d * m_b; } } //Fin clase D (Derivada) 14Mtl. Lourdes Cahuich
  • 15. Probar herencia sencilla private void btnPruebaHerencia_Click(object sender, EventArgs e) { D Cl = new D(); //se crea objeto de clase derivada Cl.k_b = 9; //Acceso directo a k de la clase B (base) Cl.setvalueBase(6); //Cl.p = 0; //acceso a miembro privado de clase base Cl.escribeP(5);//funcion publica para modificar miembro privado clase base lblMostrarHerencia.Text = "Cuadrado "+Cl.cuadrado().ToString() + ", Producto " + Cl.producto().ToString(); lblMostrarHerencia.Text = lblMostrarHerencia.Text +"n Otro producto "+ Cl.otroProducto().ToString(); } 15Mtl. Lourdes Cahuich
  • 16. Herencia multi-nivel Clase A Clase B Clase C 16Mtl. Lourdes Cahuich
  • 17. Código ejemplo herencia multi-nivel • Además de las dos clases que ya vimos, agregamos: public class C : D { public int c_c=5; public int productoDeTodos(){ //m clase abuelo, n clase padre, cc clase nieta return (k_b * n_d * c_c); } } 17Mtl. Lourdes Cahuich
  • 18. private void btnHerenciaMultinivel_Click(object sender, EventArgs e) { C hijo = new C(); hijo.k_b = 4;//propiedad publica clase base (abuelo) hijo.n_d = 9; //propiedad publica clase derivada (padre) hijo.c_c = 10; //propiedad publica clase 2a derivada (hijo) lblHerenciaMultinivel.Text = "Multiplicacion de propiedades de las clases n hijo, padre, abuelo " + hijo.productoDeTodos(); } 18Mtl. Lourdes Cahuich
  • 20. Tarea 7 • Crear el diagrama UML para la herencia multi nivel que programamos en C# • Recuerda respetar la notación detallada de clase de UML para cada una de las clases y la notación para todos los métodos y propiedades de cada una de las clases. • Envía al correo del docente antes de la siguiente sesión. 20Mtl. Lourdes Cahuich