Principios de Computadoras II

Documentos relacionados
Principios de Computadoras II

Programación orientada a objetos. Resumen de Temas Unidad 5: Herencia

Clases y herencia. FJP Unidad 8. Diseño de clases

Herencia. Proceso mediante el cual una clase adquiere las propiedades (atributos) y comportamiento (métodos) de otra.

TEMA 5. Agenda. Herencia

UNIDAD 4 IMPLEMENTACION DE PROPIEDADES DE LOS OBJETOS JAVA

CLASE 9 -HERENCIA Y POLIMORFISMO

Curso de Java POO: Programación orientada a objetos

Principios de Computadoras II

PROGRAMACION ORIENTADA A OBJETOS EN C++

FACULTAD DE INGENIERÍA

Curso de Java POO: Programación orientada a objetos

Fundamentos de Programación

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Java Avanzado Facultad de Ingeniería. Escuela de computación.

Herencia. Hay clases que comparten gran parte de sus características.

Reutilización con Delegación y Herencia

Tema 3 Herencia en Java Parte 1. Programación Orientada a Objetos Curso 2015/2016

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Programación orientada a objetos

Guía práctica de estudio 07: Herencia

PRÁCTICA 6 REPASO TEMAS 1 Y 2

Taller de Programación I. Tema 10: Herencia en Java

Objetivos. Objetivos. Herencia. Objetivos. agregar funcionalidad a una clase existente, sin compilar su nueva definición.

Herencia. Implementación en Java

Programación. Orientada a Objetos. Prof. Angela Di Serio. Universidad Simón Bolívar Especialización en Telemática

HERENCIA (2ª parte) En Java todas las clases derivan de otra, aunque no se diga explícitamente.

Aplicaciones de Escritorio

Introducción a OOP. Programación Orientada a Objeto

Conceptos más avanzados de Programación Orientada a Objetos

Tema 1. Herencia y Polimorfismo

Herencia y Clases Abstractas

La Herencia: Teoría (1)

Tema 5. Herencia. Departamento de Lenguajes y Sistemas Informáticos Universidad de Granada

Herencia en Java. Agustín J. González Diseño y Programación Orientados a Objetos

Unidad IV. Este tipo de codificación nos es permitido gracias a la sobrecarga, la cual se aplica a métodos y constructores.

Tema: Herencia en C#.

Sebastián García Galán

Programación orientada a objetos. Capítulo 8 Mejora de las estructuras mediante herencia

Herencia en Java. Agustín J. González Diseño y Programación Orientados a Objetos

Unidad 2. Elementos Intermedios del Lenguaje

Examen Teórico. Convocatoria de Julio de 2015

Tema: Herencia en C#.

Herencia COLEGIO MONTANO- PROGRAMACIÓN

HOJA DE EJERCICIOS 4 INTERFACES Y CLASES ABSTRACTAS EN JAVA Y C++

La Herencia. La primera línea de cada declaración debe incluir la sintaxis siguiente:

Tema 3 Herencia en Java Parte 2. Programación Orientada a Objetos Curso 2015/2016

Clases y Objetos en Java. ELO329: Diseño y Programación Orientados a Objetos

Examen Teórico. Convocatoria de Febrero de 2016

Reutilización con Delegación y Herencia

HERENCIA. Problema: Reparar el el coche. Jesús (Valencia) Luis, Mecánico (Valencia) Antonio, Servicio Técnico Ferrari (Madrid)

Clases y Objetos en Java. ELO329: Diseño y Programación Orientados a Objetos

Definición. Mónica E. García García Feb 07

Java Constructores por defecto. Java Constructores this() y super()

Tema 3: Herencia en C# Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle

Conceptos Básicos. Programación Orientada a Objetos 2

Tema 3 Herencia en Java Parte 2. Programación Orientada a Objetos Curso 2015/2016

acceso Implementación de conceptos P.O.O. en Java Orientada a Objetos 2. Modificadores de en Java Temario

PROGRAMACIÓN EN C#.NET Programación Orientada a Objetos en C# Ing. Bruno López Takeyas

Análisis y Diseño de Sistemas Orientado a Objeto. Captura y Análisis de Requerimiento

Curso de Java orientado a Android Parte 2

En anteriores ejemplos se ha visto que una clase tiene datos miembro que son instancias de otras clases. Por ejemplo:

SEMESTRE: 1 SEMESTRE GRADO: 1 GRADO GRUPO: E1

INICIACIÓN A LA PROGRAMACIÓN LENGUAJE JAVA con BlueJ

Lenguajes de Programación I

PROGRAMACIÓN ORIENTADA A OBJETOS 1/7/2009. Examen de Java. Nombre: DNI: Titulación:

Temas. Taller III 2007 Gentile,Vazquez

UAA-DSE Programación 2 / C++ Eduardo Serna-Pérez

2. Tratamiento de objetos con JAVA

Introducción a Programación Orientada a Objetos (OOP): Clases y Objetos 01/02/2013 ING. PEDRO BELTRÁN CANESSA

Conceptos Básicos. I. López

Métodos de Programación

Tema 10: Interfaces. Índice

Examen Teórico Convocatoria de Junio de 2012

Programación Orientada a Objetos (Grado en Ingeniería Informática y Grado en Ingeniería en Tecnologías de la Información - UNED)

Herencia: relación es un

! Fundamentos de la POO. ! Comportamiento y estado. ! Clases y objetos en Java

Clases abstractas e interfaces en Java

Herencia. 1. Concepto de herencia. H. Tejeda. Abril Concepto de herencia Extensión de clases Anulación de métodos superclase 6

CONTENIDOS. La herencia permite: - Adoptar automáticamente características ya implementadas. Ahorro de tiempo y esfuerzo

ALGORITMICA Y PROGRAMACION POR OBJETOS I

Programación Dirigida a Objetos. MATERIAL COMPLEMENTARIO Tema 5.- Herencia

Herencia Java y Servicios Web I Master en Ingeniería Matemática

Derechos de Acceso: COMPOSICION

Tema: Funciones Virtuales y Polimorfismo.

Tema: Funciones Virtuales y Polimorfismo.

6. Herencia. Clases abstractas. Genericidad. Clase Object Polimorfismo y ligadura dinámica super Herencia y creación Clases abstractas Genericidad

Test : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.

Introducción a la Orientación a Objetos

CLA. Diagramas de clases en Métrica V3

Contenido. 1 Qué es un diagrama de clase? 2 Elementos de un diagrama de clase. 3 Clase, atributo, método y visibilidad. 4 Agregación y composición

Introducción al Paradigma Orientado a Objetos

Tema 3. Herencia. Programación Avanzada. Jorge Badenas

INTRODUCCIÓN A LA PROGRAMACIÓN

Universidad Nacional del Santa E.A.P. Sistemas e Informática Microcomputación III

Manejo de Clases y Objetos. Manejo de Clases y Objetos

Transcripción:

Departamento de Ingeniería Electrónica y Computadoras Mg. Ricardo Coppo rcoppo@uns.edu.ar

La herencia establece una relación entre dos clases, un ancestro o superclase y otro derivado o descendiente Por lo general modela una relación del tipo Es un(a) Un DetectorDeHumo es un Sensor 2

Características Las relaciones de herencia establecen jerarquías de clases La superclase generaliza la clase derivada y la subclase especializa a la superclase La subclase accede a los miembros de la superclase como si fueran propios, solamente agrega o redefine aquellas que son diferentes 3

Notación UML Superclase Sensor Subclase Clase Derivada SensorDeMovimiento 4

Jeraquía de clases Sensor SensorMovimiento SensorRadar SensorIR SensorOptico 5

Código Java El proyecto tiene 5 archivos.java Un archivo cada clase 6

Visibilidad Cualquier miembro publica o protegida de una superclase es visible dentro de la subclase Si activar() es un miembro de Sensor, entonces también es visible dentro de la clase SensorMovimiento activar() también será visible dentro de la clase SensorRadar porque es descendiente (indirecto) de Sensor 7

Visibilidad Un miembro protegido (protected) solamente puede ser accedido por la clase en la que se define o por una de las subclases derivadas por herencia Si un miembro de la superclase se declara privado, este no será visible en ninguno de sus descendientes 8

UML del ejemplo 9

Ejemplo 10

Ejemplo 11

Ejemplo activar() y desactivar() son métodos de la clase Sensor 12

Constructores Cada clase derivada debe definir sus propios constructores. Si no se define, Java provee el constructor por defecto. Este constructor invoca al constructor sin parámetros de la superclase Es habitual construir una clase derivada construyendo primero la parte heredada. 13

super( ) Constantes definidas dentro de la clase Invocacíón del constructor de la superclase Uso de la constante ON perteneciente a la clase Sensor 14

Redefinición Una subclase puede redefinir o sobrescribir propiedades y métodos de la superclase Cada miembro posee una signatura o prototipo que lo identifica int i, double d, void setx( double x) La redefinición no puede modificar la signatura 15

Redefinición 16

Redefinición La redefinición de uno de los miembros de una clase ancestro se propaga hacia todos los descendientes de la clase a su vez. La redefinición del método activar() de la clase SensorMovimiento se propaga a las clases SensorRadar, SensorIR, SensorOptico. 17

Redefinición Si dos clases se encuentran en el mismo nivel jerárquico cada uno puede sobrescribir uno de los miembros del ancestro en forma diferente Si se redefine el método activar() en las subclases SensorRadar y SensorIR, estas podrán ser diferentes Siempre se puede invocar al método de la superclase mediante super 18

Clases y miembros finales Cuando el diseñador de una clase no desea permitir derivar subclases por herencia lo declara como final. Si se quiere impedir el uso de redefinición para sobrescribir miembros de una clase se los declara como final 19

La clase Object Todas las clases de Java son descendientes de la clase Object No es necesario en la definición de clase indicarlo expresamente (extends Object) Como consecuencia de lo anterior, los métodos publicos de Object se encuentran disponibles en todas las clases del programa 20

Clase Object Object MiPrograma Sensor 21

Clase Object 22

Departamento de Ingeniería Electrónica y Computadoras Mg. Ricardo Coppo rcoppo@uns.edu.ar