Programación orientada a objetos

Slides:



Advertisements
Presentaciones similares
ANALIZADOR SEMANTICO DIANA CAROLINA CASTAÑO YANCI VIVIANA CASTRO PEDRO LUIS FLÓREZ SANTIAGO GUTIÉRREZ A.
Advertisements

Curso de java básico (scjp)
FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE
Curso de Java Capitulo 7: Continuación Poo Profesor:
Curso de Java Capitulo 7: Conceptos sobre poo Profesor:
Definición de Clases y Variables de referencia.
POLIMORFISMO UNIDAD 4.
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
REFERENCIA AL OBJETO DE LA CLASE BASE
Introducción a la Orientación a Objetos
La Programación Orientado a Objetos
Arquitectura CLARO-TECNOTREE CAPITULO 4: Excepciones
Capitulo 4 Excepciones.
Informática II Prof. Dr. Gustavo Patiño MJ
UNIVERSIDAD LATINA (UNILA) ENCAPSULACION Y HERENCIA
Aplicación del paradigma orientado a objetos
Diseño y programación de
PROGRAMACION ORIENTADA A OBJETOS
HERENCIA.
4.- Orientación a Objetos Justo N. Hidalgo Sanz DEPARTAMENTO DE INGENIERÍA INFORMÁTICA.
Herencia e Interfaces.
Medio de tele-comunicación
Modificadores.
Introducción a Java II.
Lic. Rosemary Torrico Bascopé
Abstracción de los datos y Orientación a Objeto Clase 13.
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.
Tema 6: Clases Antonio J. Sierra.
Introducción a la programación Orientada a objetos
1 Herencia en Java Agustín J. González Diseño y Programación Orientados a Objetos.
I NSTITUTO TECNOLOGICO SUPERIOR DE LIBRES INGENIERIA EN SISTEMAS COMPUTACIONALES PROGRAMACION ORIENTADA A OBJETOS ESMERALDA LIMON ESCUTIA REDEFINICION.
Microsoft Student partners Oscar Ortiz Pinzon Bogota - Colombia.
UNIDAD 2 CLASES Y OBJETOS. CLASE Elementos cabecera y cuerpo de la clase. Cabecera: aporta información fundamental sobre la clase en sí y constituye de.
Jerarquía de Clases: Herencia, Composición y Polimorfismo
Programación Orientada a Objetos en Java
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
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SEMANA DOS ORIENTACION A OBJETOS.
Metodología de Programación Ayudantía 4 lelagos.ublog.cl 2008.
UNIDAD VI Recursos esenciales de Java LSC. Natalia Rodríguez Castellón.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6
Constructor  Un constructor es un método que inicia un objeto inmediatamente después de su creación. De esta forma nos evitamos el tener que iniciar.
Metodología de Programación Ayudantía 5 lelagos.ublog.cl 2009.
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.
1 Herencia en Java Agustín J. González Diseño y Programación Orientados 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.
Programación Orientada a Objeto
:: Prof. Yeniffer Peña Programación I Programación Orientada a Objetos Presentación.
Herencia y Clases Abstractas
UNIVERSIDAD TECNICA DE BABAHOYO EXTENSION DE QUEVEDO  Espinales Lisseth G RUPO N º 2 Temas:  Herencia  Polimorfismo  Encapsulamiento  2 Ejemplos Estudiante.
Programación orientada a objetos Capítulo 9 Algo mas sobre herencias.
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.
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.
Programación Orientada a Objetos Unidad 5. Los objetos son entidades que combinan estado Contiene toda la información denominados atributos REPASO Cada.
2015-BM5A. Introducción Durante años, los programadores se han dedicado a construir aplicaciones muy parecidas que resolvían una y otra vez los mismos.
:: Prof. Yeniffer Peña Programación I Programación Orientada a Objetos Presentación.
PARADIGMA viene del Griego Paradeima = Modelo. Un paradigma es el resultado de los usos, y costumbres, de creencias establecidas de verdades a medias,
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.
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.
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.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Programación orientada a objetos
Transcripción de la presentación:

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

Clases y objetos de DoME

Modelo de objetos Modelo de clases

Crítica de la v1 de DoME - Duplicación de código - Las clases CD y DVD son muy parecidas (casi idénticas) Esto hace el mantenimiento difícil y más trabajoso -Riesgo de errores con un mantenimiento inadecuado -También hay duplicación de código en la clase Database

network

Modelo de objetos Modelo de clases

8.2 Usar herencia Definimos una clase que contiene todas las cosas en común de ambas clases

Terminología de la “herencia” La clase CD deriva de la clase elemento La clase CD extiende a la clase elemento La herencia se denomina relación “ES UN” La clase a partir de la que se derivan o heredan las otras se denominan: clase padre, clase base o superclase Las clases heredadas se denominan: Clases derivadas, clases hijo o subclases Las instancias de las subclases contienen todos sus campos mas los de la superclase Las instancias de las subclases tienen todos los métodos definidos en ambas, la superclase y la subclase

8.3 Jerarquía de herencia

8.4 Herencia en Java En la superclase definimos los campos comunes

Uso de la herencia Se define una superclase Se definen subclases La superclase define atributos comunes Las subclases heredan los atributos de la superclase Las subclases pueden tener sus propios atributos

En la superclase definimos los campos comunes

8.4.1 Herencia y derecho de acceso Una subclase no puede acceder a los miembros privados de la superclase Si un método de una subclase necesita acceder a un campo privado de su superclase, la superclase necesitará ofrecer los métodos apropiados. Una subclase puede invocar a cualquier método público de su superclase como si fuera propio, no necesita ninguna variable

8.4.2 Herencia e iniciación La palabra clave super es una llamada al constructor de la superclase. La llamada al super debe tener los mismos parámetros que tenga el constructor de la superclase El constructor de la superclase inicializa los campos correspondientes y le pasa el control al constructor de la subclase

Llamada al constructor de la superclase Los constructores de una subclase siempre deben contener una llamada a un constructor de la superclase Utilizando super(parámetros); Siempre tiene que ser la primera instrucción del código de un constructor Si no se pone nada, el compilador asume que hay una llamada sin parámetros: super(); Esto implica que la superclase tendría que tener definido un constructor sin parámetros Si sólo tuviera constructores con parámetros, entonces el compilador señalaría el error

8.5 Agregar otras subclases Las clases que no se piensan usar para crear instancias, cuyo propósito es exclusivamente servir como superclase de otra, se denomina “clases abstractas”

Refactorización de las clases

8.6 Ventajas de la Herencia La herencia contribuye a: Evitar duplicación de código Reutilizar código Mejorar el mantenimiento Extensibilidad

Comparación del código de basededatos, al incorporar la “herencia” en el diseño

8.7 Subclases y subtipos

8.7.3 Subtipos y paso de parámetros El paso de parámetros se comporta exactamente de la misma manera que la asignación ordinaria a una variable

Polimorfismo Variables Polimórficas Las variables que contienen objetos son variables polimórficas El término polimórfico se refiere al hecho de que una misma variable puede contener objetos de diferentes tipos

8.7.5 Casting (Enmascaramiento de tipos)

casting Se especifica indicando el tipo de objeto entre paréntesis El objeto no cambia en nada Simplemente se permite usar la referencia adecuadamente En tiempo de ejecución se comprueba que el objeto es realmente de ese tipo ClassCastException si no lo es En Java esto se puede comprobar if (v instanceof A ) // si el objeto v pertenece a la clase A o una de sus subclases Para el ejemplo anterior: if (v instanceof Car ) c = (Car)v; debe usarse con moderación

8.8 La clase “Object” Todas las clases tienen una superclase de nombre java.lang.Object Que todos los objetos tengan una super clase en común tiene dos objetos: Poder declarar variables polimórficas de tipo “Object”, que puedan contener cualquier objeto Definir algunos métodos que están automáticamente disponibles para cada objeto disponible

8.9 Autoboxing y clase envoltorio