Prof. Manuel B. Sánchez. Es un mecanismo y uno de los pilares de la POO que permite definir nuevas clases a partir de otras preexistentes. La Herencia.

Slides:



Advertisements
Presentaciones similares
Unidad 3 Lenguajes .Net y POO
Advertisements

Curso de java básico (scjp)
Curso de Java Capitulo 7: Continuación Poo Profesor:
Lenguaje de programación Java
Clases Extendidas La clase extendida hereda los campos y métodos de la clase de la cual extiende. La clase original se conoce como superclase y la clase.
Herencia simple y multiple
Arquitectura CLARO-TECNOTREE
Orientación a Objetos con Java SE
Introducción 1 Puntos Clave –La orientación a objetos representa un cambio radical en los métodos tradicionales de creación de software –Los métodos tradicionales.
La Programación Orientado a Objetos
Informática II Prof. Dr. Gustavo Patiño MJ
Informática II 1 Diego Fernando Serna RestrepoSemestre 2011/2.
Herencia y Polimorfismo
UNIVERSIDAD LATINA (UNILA) ENCAPSULACION Y HERENCIA
Aplicación del paradigma orientado a objetos
Diseño y programación de
PROGRAMACION ORIENTADA A OBJETOS
Algoritmos y Estructuras de Datos Introducción al C++ Herencia.
HERENCIA.
Lenguaje de Programación Java Profesor: Mauricio Martínez P. Análisis y Diseño Orientado a Objetos UML: Lenguaje de Modelamiento Unificado Toma de Requerimientos.
Herencia e Interfaces.
Programación Orientada a Objetos usando C++
Medio de tele-comunicación
Herencia y Polimorfismo en JAVA
Polimorfismo Lenguajes de Programación II Corporación Universitaria del Caribe CECAR.
Introducción a Java II.
Lic. Rosemary Torrico Bascopé
UNIVERSIDAD TECNOLÓGICA DE HERMOSILLO T.S.U. EN T.I.C., Área: Sistemas Informáticos Ing. José Padilla Duarte y estudiantes de Sistemas Informáticos Hermosillo,
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
Introducción a la programación Orientada a objetos
Conceptos Objeto Clase Atributo / Método Encapsulamiento Mensaje
I NSTITUTO TECNOLOGICO SUPERIOR DE LIBRES INGENIERIA EN SISTEMAS COMPUTACIONALES PROGRAMACION ORIENTADA A OBJETOS ESMERALDA LIMON ESCUTIA REDEFINICION.
Jerarquía de Clases: Herencia, Composición y Polimorfismo
Capitulo # 4 herencia PROGRAMACION III UNIVERSIDAD
Introducción a la POO • ¿Qué es la programación orientada a objets (POO)? – Un “paradigma” de programación – Una forma de pensar acerca de los problemas.
Programación Orientada a Objetos usando CONSTRUCTORES DESTRUCTORES.
DIEGO ALEJANDRO PAREJA TORO SEBASTIAN CHAVARRIA LONDOÑO 10ª2 01/02/12.
Herencia en POO Eliseo Melgarejo Desarrollo de sistemas Udec.
Metodología de Programación Ayudantía 4 lelagos.ublog.cl 2008.
UNIDAD VI Recursos esenciales de Java LSC. Natalia Rodríguez Castellón.
Metodología de Programación Ayudantía 5 lelagos.ublog.cl 2009.
Sara Isabel Osorio Alacraz Ana Isabel Vallejo Grisales
Informatica II1 Clases Extendidas La clase extendida hereda los campos y métodos de la clase que ha sido extendida. La clase original se conoce como superclase.
Programación Orientada a Objetos
Herencia. Introducción La idea básica es poder crear clases basadas en clases ya existentes. Cuando heredamos de una clase existente, estamos re-usando.
PROGRAMACION ORIENTADA A OBJETOS POR OVER YESID BARRERA FERNANDEZ.
Introducción a UML DIAGRAMA DE CLASES Departamento de Informática
Unidad 2.1: INTRODUCCIÓN A LA ORIENTACIÓN A OBJETOS.
Programación orientada a objetos
Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.
:: Prof. Yeniffer Peña Programación I Programación Orientada a Objetos Presentación.
Universidad Tecnológica de Izúcar de Matamoros Programa Educativo: Tecnologías de la Información Asignatura: Base de datos para aplicaciones Tema: Base.
HERENCIA.
M.C. Pedro Bello López 1 IMPLEMENTACIÓN. M.C. Pedro Bello López2.
Programación orientada a objetos Capítulo 9 Algo mas sobre herencias.
PROGRAMACIÓN ORIENTADA A OBJETOS
Tipo de relación entre clases Es uno de los aspectos que distinguen el paradigma de orientación a objetos frente a otros paradigmas. Mecanismo que,
UNIVERSIDAD TECNOLÓGICA DE IZÚCAR DE MATAMOROS TECNOLOGÍAS DE LA INFORMACION Y COMUNICACIÓN BASE DE DATOS PARA APLICACIONES MTRO. GONZALO ROSAS CABRERA.
ORIENTACIÓN A OBJETOS El paradigma.
La Programación Orientado a Objetos
Clases “ Es una Abstracción de un elemento del mundo real ”
Herencias Conceptos básicos i
Programación orientada a objetos La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos.
Prof. Manuel B. Sánchez. Un paradigma de programación representa un enfoque particular o filosofía para la construcción del software. No es mejor uno.
Modelado UML Diagrama de Clases
Métodos en Java. Estructura de un programa en Java ► La relación con la vida misma la podemos ver en el siguiente comentario: Imaginemos que dos clases.
RELACIONES ENTRE CLASES M.C. YOLANDA MOYAO MARTINEZ.
Prof. Manuel B. Sánchez.  El origen del término polimorfismo es simple: proviene de las palabras griegas poly (muchos) y morphos (forma) multiforme.
Concepto de Tipo y Subtipo Diseño e Implementación Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 10 Versión.
Programación I Clases. Paradigma POO La programación Orientada a objetos (POO) es una forma programar, más cercana a como expresaríamos las cosas en la.
Transcripción de la presentación:

Prof. Manuel B. Sánchez

Es un mecanismo y uno de los pilares de la POO que permite definir nuevas clases a partir de otras preexistentes. La Herencia permite: Adoptar automáticamente características ya implementadas, con lo cual se ahorra tiempo y espacio al no tener que programar toda la clase desde cero. Adoptar automáticamente características ya probadas, con lo cual se ahorra tiempo al no tener que probar y depurar las características heredadas. La nueva clase puede cambiar algunas funcionalidades de la clase heredada La Herencia y el Polimorfismo es una de las mayores ventajas que tiene POO sobre la Programación Estructurada y permiten escribir programas fáciles de modificar La herencia también permite crear jerarquías entre clases de objetos.

Cuando hay suficientes similitudes. Todas las características de la clase existente o la mayoría de ellas, son adecuadas para la nueva clase. En la nueva clase se ampliará y/o redefinirá el conjunto de características. La nueva clase definida a partir de la clase existente, adopta todos los miembros de la clase existente: atributos métodos

Clase base: La clase base es la clase ya creada, de la que se hereda. También se la denomina clase madre o superclase. Clase derivada: es la clase que se crea a partir de la clase base. Se dice que es la clase que hereda. También se la denomina clase hija o subclase. Vehiculo es la clase base de Particular DosDimensiones es la clase base de Circulo Figura es una superclase de Circulo Alumno es una subclase de Persona

En C++ se utiliza el operador “:” para crear una clase heredara de la siguiente forma: La clase NombreHija hereda todas las características y funcionalidades de la clase NombreMadre. puede ser: public: los datos públicos en la clase base siguen siendo públicos en la hija private: los datos públicos en la clase base pasan a ser privados en la clase hija. protected: los datos públicos en la clase base pasan a ser protegidos en la clase hija. puede ser: public: los datos públicos en la clase base siguen siendo públicos en la hija private: los datos públicos en la clase base pasan a ser privados en la clase hija. protected: los datos públicos en la clase base pasan a ser protegidos en la clase hija. Los constructores no son heredados, por esa razón es necesario implementar nuevos constructores para las clases hijas Operador para indicar la herencia de clases Nombre de la Clase de la cual se hereda La clase que hereda puede definir nuevos métodos, así como redefinir o anular métodos existentes en la clase base

Los objetos de la clase VehiculoCarga se crean de la misma forma que se ha visto anteriormente. Los objetos VehiculoCarga tienen los siguientes atributos: dueño, placa, capacidadCarga, tara y carga Para que los atributos heredados sean inicializados de forma correcta es necesario llamar de manera explicita al constructor del padre, lo cual, en este caso no se ha hecho. Un VehiculoCarga sigue siendo un Vehiculo, pero lo contrario no siempre se cumple Los mensajes que se le pueden enviar a un objeto VehiculoCarga son: caracteristicas() y cargar() En esta clase hemos redefinido el comportamiento del método caracteristicas() definido en el padre

En Programación Orientada a Objetos existen dos tipos de herencia. Herencia Simple: Es aquella donde la clase derivada toma propiedades y comportamientos de una sola clase base. Herencia Múltiple: La clase derivada toma propiedades y comportamientos de más de una clase base, la forma básica de la herencia sigue siendo igual.

class Persona { char nombre[20]; int edad; public: Persona(): Persona(“”,0) { } Persona (char n[], int e) { strcpy(nombre,n); edad = e; } }; class Alumno : public Persona { int curso; char nivelAcademico[20]; public: Alumno (char n[], int e, int c, char nivel[]): Persona(n, e) { curso = c; strcpy(nivelAcademico, nivel); } }; Llamada a un constructor sobrecargado que se encuentra en la misma clase Se invoca al constructor paramétrico de la clase Base, en este caso, la clase Persona. Se asignan los atributos propios de la clase hija

class Persona { char nombre[20]; int edad; public: void mostrar() { cout << nombre << ”:”<< edad; } void setEdad(int e) { edad = e; } }; class Alumno: public Persona { int curso; char nivelAcademico[20]; public: void mostrar() { Persona::mostrar(); cout << ”:”<< curso << ”:” << nivelAcademico; } void setCurso(int c) { curso = c; } }; Se define un método mostrar que muestra las propiedades de la clase en una misma línea separadas por “:” Se sobreescribe el método mostrar de la clase base para incorporar los nuevos atributos Se invoca al método mostrar de la clase base para que haga el trabajo con los atributos de la super clase, para ello se utiliza el operador de ambito :: Mostramos los datos del hijo para completar la información de la clase La redefinición de métodos se conoce con el nombre de sobrecarga y es la base para el polimorfismo por sobrecarga de métodos