SlideShare una empresa de Scribd logo
1 de 21
Herencia 1ª parte
Apoyo POO
Introducción
• La herencia es una característica de
reutilización de código en la programación
orientada a objetos.
• Imagine que tiene programada una clase que
describe algunas características de un grupo
de objetos.
2Mtl. Lourdes Cahuich
Introducción
• Imagine también que usted tiene que
programar un grupo de objetos que tienen
todas las características y comportamiento de
la clase que ya tiene, pero este grupo tiene –
además- ciertas características particulares.
3Mtl. Lourdes Cahuich
Introducción
• En lugar de programar desde cero una nueva
clase que describa estos objetos y sus
características principales, es mejor crear una
clase que herede de la clase existente, con
todas sus propiedades y métodos, y sólo
agregar las características adicionales del
grupo especial de objetos.
4Mtl. Lourdes Cahuich
Clase base y clase derivada
• La clase nueva se le llama clase “derivada”
• La clase general se llama clase “base”.
Clase base
Clase D
Clase B
Clase derivada
5Mtl. Lourdes Cahuich
- nombre:string
- edad:int
- genero:char
Persona
+ respirar():string
+ reir():string
- carrera:string
- numeroCuenta:double
+ estudiar():string
Estudiante
6Mtl. Lourdes Cahuich
Ejemplo herencia básica C#
• Vamos a crear un proyecto en C#, de la misma
forma que lo hemos hecho durante el curso.
• Usaremos el archivo de clase que creamos en
la actividad práctica 7 (cuando aprendimos a
crear archivos de clase)
• Nuestra clase se llamó “MiPrimeraClase”,
ahora cambiaremos un poco ese archivo.
7Mtl. Lourdes Cahuich
Creación clase base / padre / general
• Cambiaremos el nombre de la clase
“MiPrimeraClase” por “Persona”.
• Las propiedades y los métodos no cambian.
//Propiedades
private string nombre;
private int edad;
private char genero;
8Mtl. Lourdes Cahuich
Se agregan los siguientes métodos
//Métodos
public string respirar()
{
return "inhalar - exhalar";
}
public string reir()
{
return "LOL";
}
9Mtl. Lourdes Cahuich
Recordamos el constructor
public Persona()
{
this.nombre = "sin nombre";
this.edad = 0;
this.genero = '?';
}
10Mtl. Lourdes Cahuich
Creación clase derivada / hija /
especializada
• Ahora crearemos OTRO archivo de clase, de
manera similar a como creamos el anterior.
• Sólo que ahora en el nuevo archivo de clase
incluiremos el namespace de la clase Persona
11Mtl. Lourdes Cahuich
Clase derivada
• Esta nueva clase se llamará “Estudiante” y será
una clase derivada de “Persona”
using ClasePersona; Este es el namespace de la clase
base
namespace ClaseEstudiante Este es el namespace de la clase
derivada que estamos creando
12Mtl. Lourdes Cahuich
Herencia
public class Estudiante : Persona
Clase baseClase derivada
13Mtl. Lourdes Cahuich
Clase derivada
public class Estudiante : Persona
{
//propiedades particulares del estudiante
private string carrera;
private double numeroCuenta;
//métodos particulares del estudiante
public string estudiar()
{
return "Leo, Anoto, Aprendo";
}
14Mtl. Lourdes Cahuich
//métodos "setters/getters"
public string leeCarrera()
{
return this.carrera;
}
public void escribeCarrera(string c)
{
this.carrera = c;
}
public double leeNumeroCuenta()
{
return this.numeroCuenta;
}
public void escribeNumeroCuenta(double nc)
{
this.numeroCuenta = nc;
} 15Mtl. Lourdes Cahuich
//constructor clase estudiante
public Estudiante()
{
this.carrera = "Aun no se inscribe";
this.numeroCuenta = 0;
}
}
16Mtl. Lourdes Cahuich
Creamos interfaz para probar herencia
• Ya que tenemos las
clases base y
derivada,
agregaremos los
controles gráficos en
el archivo de código
de nuestra aplicación,
que debe lucir así.
17Mtl. Lourdes Cahuich
private void btnCreaPersona_Click(object sender, EventArgs e)
{
Persona humano = new Persona();
//Métodos de persona
lblNombre.Text = humano.leeNombre().ToString();
lblEdad.Text = humano.leeEdad().ToString();
lblGenero.Text = humano.leeGenero().ToString();
//Métodos de estudiante
lblCarrera.Text ="";
lblMatricula.Text ="";
lblMetodoEstudiante.Text = "";
metodoPersona = humano.respirar();
}
18Mtl. Lourdes Cahuich
private void btnCreaEstudiante_Click(object sender, EventArgs e)
{
Estudiante alumno = new Estudiante();
//Métodos de persona
lblNombre.Text = alumno.leeNombre().ToString();
lblEdad.Text = alumno.leeEdad().ToString();
lblGenero.Text = alumno.leeGenero().ToString();
//Métodos de estudiante
lblCarrera.Text = alumno.leeCarrera().ToString();
lblMatricula.Text = alumno.leeNumeroCuenta().ToString();
metodoEstudiante = alumno.estudiar().ToString();
}
19Mtl. Lourdes Cahuich
private void btnMetodoPersona_Click(object sender,
EventArgs e)
{
lblMetodoPersona.Text = metodoPersona;
}
private void btnMetodoEstudiante_Click(object sender, EventArgs e)
{
lblMetodoEstudiante.Text = metodoEstudiante;
}
20Mtl. Lourdes Cahuich
21Mtl. Lourdes Cahuich

Más contenido relacionado

Similar a Herencia 1ª parte (20)

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#
 
08 Herencia
08   Herencia08   Herencia
08 Herencia
 
Clases C#
Clases C#Clases C#
Clases C#
 
Guia poo php
Guia poo phpGuia poo php
Guia poo php
 
Clases metodos y atributos
Clases metodos y atributosClases metodos y atributos
Clases metodos y atributos
 
Repaso previo a 2º examen parcial
Repaso previo a 2º examen parcialRepaso previo a 2º examen parcial
Repaso previo a 2º examen parcial
 
C3 las clases en java v2
C3 las clases en java v2C3 las clases en java v2
C3 las clases en java v2
 
Conceptos basicos
Conceptos basicosConceptos basicos
Conceptos basicos
 
_Herencia_Polimorfismo_Polimorfismo.pptx
_Herencia_Polimorfismo_Polimorfismo.pptx_Herencia_Polimorfismo_Polimorfismo.pptx
_Herencia_Polimorfismo_Polimorfismo.pptx
 
Herencia
HerenciaHerencia
Herencia
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de java
 
Presentacion4
Presentacion4Presentacion4
Presentacion4
 
Guía Herencia PO_O
Guía Herencia PO_OGuía Herencia PO_O
Guía Herencia PO_O
 
Herencia
HerenciaHerencia
Herencia
 
Herencia y polimorfismo
Herencia y polimorfismoHerencia y polimorfismo
Herencia y polimorfismo
 
Poo 3 herencia
Poo 3 herenciaPoo 3 herencia
Poo 3 herencia
 
Herencia
HerenciaHerencia
Herencia
 
Php orientado a objetos, Ronald Nina
Php orientado a objetos, Ronald NinaPhp orientado a objetos, Ronald Nina
Php orientado a objetos, Ronald Nina
 
MODULO5-1.pptx
MODULO5-1.pptxMODULO5-1.pptx
MODULO5-1.pptx
 
Lp2docclases
Lp2docclasesLp2docclases
Lp2docclases
 

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

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
 
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
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
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
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscaeliseo91
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
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
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
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
 

Último (20)

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
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
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
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
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...
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fisca
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
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
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
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
 

Herencia 1ª parte

  • 2. Introducción • La herencia es una característica de reutilización de código en la programación orientada a objetos. • Imagine que tiene programada una clase que describe algunas características de un grupo de objetos. 2Mtl. Lourdes Cahuich
  • 3. Introducción • Imagine también que usted tiene que programar un grupo de objetos que tienen todas las características y comportamiento de la clase que ya tiene, pero este grupo tiene – además- ciertas características particulares. 3Mtl. Lourdes Cahuich
  • 4. Introducción • En lugar de programar desde cero una nueva clase que describa estos objetos y sus características principales, es mejor crear una clase que herede de la clase existente, con todas sus propiedades y métodos, y sólo agregar las características adicionales del grupo especial de objetos. 4Mtl. Lourdes Cahuich
  • 5. Clase base y clase derivada • La clase nueva se le llama clase “derivada” • La clase general se llama clase “base”. Clase base Clase D Clase B Clase derivada 5Mtl. Lourdes Cahuich
  • 6. - nombre:string - edad:int - genero:char Persona + respirar():string + reir():string - carrera:string - numeroCuenta:double + estudiar():string Estudiante 6Mtl. Lourdes Cahuich
  • 7. Ejemplo herencia básica C# • Vamos a crear un proyecto en C#, de la misma forma que lo hemos hecho durante el curso. • Usaremos el archivo de clase que creamos en la actividad práctica 7 (cuando aprendimos a crear archivos de clase) • Nuestra clase se llamó “MiPrimeraClase”, ahora cambiaremos un poco ese archivo. 7Mtl. Lourdes Cahuich
  • 8. Creación clase base / padre / general • Cambiaremos el nombre de la clase “MiPrimeraClase” por “Persona”. • Las propiedades y los métodos no cambian. //Propiedades private string nombre; private int edad; private char genero; 8Mtl. Lourdes Cahuich
  • 9. Se agregan los siguientes métodos //Métodos public string respirar() { return "inhalar - exhalar"; } public string reir() { return "LOL"; } 9Mtl. Lourdes Cahuich
  • 10. Recordamos el constructor public Persona() { this.nombre = "sin nombre"; this.edad = 0; this.genero = '?'; } 10Mtl. Lourdes Cahuich
  • 11. Creación clase derivada / hija / especializada • Ahora crearemos OTRO archivo de clase, de manera similar a como creamos el anterior. • Sólo que ahora en el nuevo archivo de clase incluiremos el namespace de la clase Persona 11Mtl. Lourdes Cahuich
  • 12. Clase derivada • Esta nueva clase se llamará “Estudiante” y será una clase derivada de “Persona” using ClasePersona; Este es el namespace de la clase base namespace ClaseEstudiante Este es el namespace de la clase derivada que estamos creando 12Mtl. Lourdes Cahuich
  • 13. Herencia public class Estudiante : Persona Clase baseClase derivada 13Mtl. Lourdes Cahuich
  • 14. Clase derivada public class Estudiante : Persona { //propiedades particulares del estudiante private string carrera; private double numeroCuenta; //métodos particulares del estudiante public string estudiar() { return "Leo, Anoto, Aprendo"; } 14Mtl. Lourdes Cahuich
  • 15. //métodos "setters/getters" public string leeCarrera() { return this.carrera; } public void escribeCarrera(string c) { this.carrera = c; } public double leeNumeroCuenta() { return this.numeroCuenta; } public void escribeNumeroCuenta(double nc) { this.numeroCuenta = nc; } 15Mtl. Lourdes Cahuich
  • 16. //constructor clase estudiante public Estudiante() { this.carrera = "Aun no se inscribe"; this.numeroCuenta = 0; } } 16Mtl. Lourdes Cahuich
  • 17. Creamos interfaz para probar herencia • Ya que tenemos las clases base y derivada, agregaremos los controles gráficos en el archivo de código de nuestra aplicación, que debe lucir así. 17Mtl. Lourdes Cahuich
  • 18. private void btnCreaPersona_Click(object sender, EventArgs e) { Persona humano = new Persona(); //Métodos de persona lblNombre.Text = humano.leeNombre().ToString(); lblEdad.Text = humano.leeEdad().ToString(); lblGenero.Text = humano.leeGenero().ToString(); //Métodos de estudiante lblCarrera.Text =""; lblMatricula.Text =""; lblMetodoEstudiante.Text = ""; metodoPersona = humano.respirar(); } 18Mtl. Lourdes Cahuich
  • 19. private void btnCreaEstudiante_Click(object sender, EventArgs e) { Estudiante alumno = new Estudiante(); //Métodos de persona lblNombre.Text = alumno.leeNombre().ToString(); lblEdad.Text = alumno.leeEdad().ToString(); lblGenero.Text = alumno.leeGenero().ToString(); //Métodos de estudiante lblCarrera.Text = alumno.leeCarrera().ToString(); lblMatricula.Text = alumno.leeNumeroCuenta().ToString(); metodoEstudiante = alumno.estudiar().ToString(); } 19Mtl. Lourdes Cahuich
  • 20. private void btnMetodoPersona_Click(object sender, EventArgs e) { lblMetodoPersona.Text = metodoPersona; } private void btnMetodoEstudiante_Click(object sender, EventArgs e) { lblMetodoEstudiante.Text = metodoEstudiante; } 20Mtl. Lourdes Cahuich