UNIVERSIDAD LATINA (UNILA) ENCAPSULACION Y HERENCIA

Slides:



Advertisements
Presentaciones similares
Curso de java básico (scjp)
Advertisements

FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE
Instituto Universitario de Gerencia y Tecnología N - Análisis de Sistemas DIAGRAMA DE CLASES INTEGRANTES: LEIVYS MAZA Informática Mención 205 Profesor:
Curso de Java Capitulo 7: Continuación Poo Profesor:
Curso de Java Capitulo 7: Conceptos sobre poo Profesor:
POLIMORFISMO UNIDAD 4.
Lenguaje de programación Java
Herencia simple y multiple
Arquitectura CLARO-TECNOTREE
REFERENCIA AL OBJETO DE LA CLASE BASE
Orientación a Objetos con Java SE
Introducción a la Orientación a Objetos
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
UNIVERSIDAD LATINA (UNILA)
Aplicación del paradigma orientado a objetos
Diseño y programación de
HERENCIA.
4.- Orientación a Objetos Justo N. Hidalgo Sanz DEPARTAMENTO DE INGENIERÍA INFORMÁTICA.
Modificadores.
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,
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.
Universidad Autónoma del Estado de Hidalgo Instituto de Ciencias Básicas e Ingeniería Área Académica de Computación y Electrónica Licenciatura en Ciencias.
Tema 10: Interfaces Antonio J. Sierra.
I NSTITUTO TECNOLOGICO SUPERIOR DE LIBRES INGENIERIA EN SISTEMAS COMPUTACIONALES PROGRAMACION ORIENTADA A OBJETOS ESMERALDA LIMON ESCUTIA REDEFINICION.
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.
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.
Bases de Datos Orientadas a Objetos (BDOO)
Programación orientada a objetos
Abstracción de Datos y Orientación a Objetos.. Vista General. Por qué la abstracción de datos y la programación orientada a objetos. Módulos y módulos.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SEMANA DOS ORIENTACION A OBJETOS.
Métricas Técnicas para Sistemas Orientados a Objeto
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
Metodología de Programación Ayudantía 5 lelagos.ublog.cl 2009.
EI, Profesor Ramón Castro Liceaga Agosto de 2005 UNIVERSIDAD LATINA (UNILA) PROGRAMACION ORIENTADA A OBJETOS EN JAVA (Optativa) CONCEPTOS DE PROGRAMACION.
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
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) LENGUAJES DE PROGRAMACIÓN PARA EL DESARROLLO DE INTERFACES.
Programación orientada a objetos
Introducción a la Programación Orientada a Objetos (POO)
UNIVERSIDAD TECNICA DE BABAHOYO EXTENSION DE QUEVEDO  Espinales Lisseth G RUPO N º 2 Temas:  Herencia  Polimorfismo  Encapsulamiento  2 Ejemplos Estudiante.
Universidad Tecnológica de Izúcar de Matamoros Programa Educativo: Tecnologías de la Información Asignatura: Base de datos para aplicaciones Tema: Base.
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.
FUNDAMENTOS DE PROGRAMACION
PROGRAMACIÓN ORIENTADA A OBJETOS
Ing. Johanna Macias Algoritmo, Estructura y Programación III.
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.
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.
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.
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.
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.
Transcripción de la presentación:

UNIVERSIDAD LATINA (UNILA) ENCAPSULACION Y HERENCIA LE, EI, Profesor Ramón Castro Liceaga

Introducción La programación orientada a objetos también nos permite proteger a la información a través del encapsulamiento

Que es encapsulamiento Se denomina encapsulamiento al ocultamiento del estado, es decir, de los datos miembro, de un objeto de manera que sólo se puede cambiar mediante las operaciones definidas para ese objeto.  Cada objeto está aislado del exterior, es un módulo natural, y la aplicación entera se reduce a un agregado o rompecabezas de objetos. El aislamiento protege a los datos asociados a un objeto contra su modificación por quien no tenga derecho a acceder a ellos, eliminando efectos secundarios e interacciones.   De esta forma el usuario de la clase puede obviar la implementación de los métodos y propiedades para concentrarse sólo en cómo usarlos. Por otro lado se evita que el usuario pueda cambiar su estado de maneras imprevistas e incontroladas

Servicios prestados Se trata de proteger los datos en una clase. La encapsulación se basa en la noción de servicios prestados. Una clase proporciona un cierto número de servicios y los usuarios de esta clase no tienen que conocer la forma como se prestan estos servicios. Hay que distinguir en la descripción de la clase dos partes: · la parte pública, accesible por las otras clases; · la parte privada, accesible únicamente por los métodos de la clase. Es recomendable poner los atributos de una clase en la parte privada.

Niveles de encapsulado Java proporciona varios niveles de encapsulado. La granularidad de la protección es para el método o el atributo. Así, tal atributo podrá ser protegido, mientras que otro no lo será.

Protección de variables y métodos: accesos Para implementar el encapsulamiento de las clases Java utilizan: public Si un método o variable se define así, será accesible para cualquier otra clase (cualquiera accesarla) package Solo el que especifique el paquete de clases de que trate private Solo son visibles en la propia clase protected Publico para sus clases derivadas únicamente Estos son especificadores de acceso preceden a las definiciones de las clases

Herencia La herencia es una de las nociones mas importantes del diseño y de la programación orientada a objetos. Es uno de los factores que permiten la reutilización del código.

Que es la herencia Como su nombre lo indica es la capacidad de heredar las capacidades, funcionalidad y características entre las clases La Herencia es el mecanismo por el que se crean nuevos objetos definidos en términos de objetos ya existentes. Por ejemplo, si se tiene la clase Ave, se puede crear la subclase Pato, que es una especialización de Ave. class Pato extends Ave { int numero_de_patas; }

Palabra clave extends (extiende a..) La herencia es una relación entre clases definida por la palabra clave extends. Si se dice que una clase Hija, hereda de una clase Madre, quiere decir que éste asimila los atributos y métodos del Madre y que un objeto de la clase Hija es también de la clase Madre. Esto último, no es recíproco, es decir, un objeto de la clase Madre no lo es de la clase Hija. La palabra clave extends se usa para generar una subclase (especialización) de un objeto. Una Pato es una subclase de Ave. Cualquier cosa que contenga la definición de Ave será copiada a la clase Pato, además, en Pato se pueden definir sus propios métodos y variables de instancia. Se dice que Pato deriva o hereda de Ave.

Propósitos de la herencia La herencia, tiene el propósito de: • Compatir el código, el cual permite una economía de compilación, de disco duro.... • Mantenimiento en el código, cualquier modificación en la clase Madre repercute automáticamente sobre la clase Hija. La herencia permite heredar las propiedades y las características entre clases

Herencia y subclase La clase que hereda, llamada también subclase, retoma los atributos y los métodos de la superclase. Pero puede: · añadirles nuevos atributos y métodos. · redifinir los métodos.

Herencia y abstracción La herencia, además, permite capturar nuevas formas de abstracción, es decir, gracias a ésta, se puede expresar formalmente ideas que provienen del nivel de diseño.

Herencia y redefinición de métodos Cuando se hace heredar una clase de otra, se pueden redefinir ciertos métodos con la intención de modificarlos o mejorarlos. El método lleva el mismo nombre y la misma sintaxis, pero sólo se aplica a los objetos de la subclase o a sus descendientes.

Que entendemos por Herencia Simple Si una clase hereda de la otra, lo que hereda son todos sus atributos y metodos. Ademas de heredarlos puede sobreescribirlos, tanto los constructores-destructores como los metodos convencionales. En la herencia simple se pueden heredar estos comportamientos y características solo de una superclase .

Java y la Herencia Simple Un ejemplo de Herencia Simple es la estructura es el propio lenguaje Java Java está completamente orientado a objetos bajo el concepto de la Herencia. Un programa consta de una o más clases, éstas pueden organizarse en paquetes. Las clases de Java definen objetos de software encerrando los miembros de los datos (campos) y a los miembros de función(métodos). Los miembros pueden designarse como privados, protegidos de paquete o públicos, lo que proporciona una manera conveniente de definir la interfaz pública y el dominio privado de un objeto.   El mecanismo de Java para la herencia es la extensión de clase, que permite las relaciones de tipo y el reuso de código. Sólo se permite la herencia simple. La sobreescritura dinámica de métodos soporta polimorfismo y permite la construcción de objetos intercambiables que se adecuan a una interfaz uniforme. La superclase abstracta de Java le ayuda a planear interfaces uniformes para un conjunto de objetos compatibles de conexión, además de proporcionar código común para éstos.

La superclase de Java La clase Object es la superclase de Java

Principales clases de Java El paquete Java java.lang contiene clases fundamentales e interfaces fuertemente relacionadas con el lenguaje y el sistema runtime Esto incluye las clases raíz que forman la jerarquía de clases, tipos relacionados con la definición del lenguaje, excepciones básicas, funciones matemáticas, Hilos, funciones de seguridad, así como también alguna información sobre el sistema nativo subyacente. Object – la clase que es la raíz de toda la jerarquía de clases. . Las clases de java.lang son importadas automáticamente a cada programa fuente.

En resumen La Herencia Simple consiste en heredar comportamientos y características de una SuperClase en el caso de Java es Object

Que entendemos por Herencia Múltiple Herencia múltiple hace referencia a una característica de los lenguajes de programación orientada a objetos en la que una clase puede heredar comportamientos y características de más de una superclase.. Si una clase hereda de la otra, lo que hereda son todos sus atributos y metodos. Ademas de heredarlos puede sobreescribirlos, tanto los constructores-destructores como los metodos convencionales. En la herencia Multiple se pueden heredar estos comportamientos y características de mas SuperClases

Java y la Herencia Multiple En Java no existe la herencia múltiple. El motivo es que definir una herencia múltiple presenta numerosos problemas.

Java y la Herencia Multiple Se presentan los siguientes problemas: un atributo que esté definido en la clase Madre aparece duplicado en la clase Nieta. si un método de la clase Madre es redefinido en la clase Hijaa y en Hijab ¿ cúal habría que aplicar a la clase Nieta ?. Sin embargo, la herencia múltiple es útil en un caso clásico: cuando queremos heredar de una clase que define el qué y de una clase que defne el cómo. En este caso, Java autoriza a una clase a heredar de una superclase (cómo) y a implementar una interfaz (qué). Así se evitan los problemas de las herencias múltiples, porque toda herencia en forma de diamante, como la antes definida, es imposible.

Lenguajes que soportan Herencia Multiple Lenguajes que soportan herencia múltiple en su mayor parte son: C++, Centura SQL Windows, CLOS, Eiffel, Object REXX, Perl y Python. La herencia múltiple permite a una clase tomar funcionalidades de otras clases, como permitir a una clase llamada MusicoEstudiante heredar de una clase llamada Persona, una clase llamada Músico, y una clase llamada Trabajador. Esto puede ser abreviado como MusicoEstudiante : Persona, Músico, Trabajador.

Discusión sobre Herencia Simple y Multiple Hay debate sobre si la herencia múltiple puede ser implementada de forma simple y sin ambigüedad. Con frecuencia es criticada por su aumentada complejidad y su ambigüedad, así como los problemas de versiones y mantenimiento que puede causar

Conclusión La Herencia Multiple consiste en heredar comportamientos y características de mas de una SuperClase, esta funcionabilidad no la tienen todos los lenguajes de programación orientados a objetos