Arquitectura CLARO-TECNOTREE

Slides:



Advertisements
Presentaciones similares
Unidad 3 Lenguajes .Net y POO
Advertisements

Curso de java básico (scjp)
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:
Definición de Clases y Variables de referencia.
PROGRAMACION ORIENTADA A OBJETOS
Herencia en C#.
Lenguaje de programación Java
Tomado de:
UML 1.4 Peter Emerson Pinchao Solis.
Herencia simple y multiple
REFERENCIA AL OBJETO DE LA CLASE BASE
Programación Orientada 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
Arquitectura CLARO-TECNOTREE CAPITULO 4: Excepciones
Capitulo 4 Excepciones.
UNIVERSIDAD LATINA (UNILA) ENCAPSULACION Y HERENCIA
Aplicación del paradigma orientado a objetos
Diseño y programación de
ORIENTADO A OBJETOS ESTUDIANTE JESSICA LORENA LEAL MEDINA INGENIERIA DE SOFTWARE PROGRAMA INGENIERIA DE SISTEMAS UNIVERSIDA COOPERATIVA DE COLOMBIA NEIVA-HUILA.
HERENCIA.
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,
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.
Introducción a la programación Orientada a objetos
Tema 10: Interfaces Antonio J. Sierra.
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.
(c) P. Gomez-Gil, INAOE DISEÑO DE COMPONENTES DE SOFTWARE * NOTAS DEL CURSO Ingeniería de Software I DRA. MARIA DEL PILAR GÓMEZ GIL INAOEP.

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
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SEMANA DOS ORIENTACION A OBJETOS.
Programación Orientada 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.
Metodología de Programación Ayudantía 5 lelagos.ublog.cl 2009.
Sara Isabel Osorio Alacraz Ana Isabel Vallejo Grisales
Interfaces ELO329: 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.
PROGRAMACION ORIENTADA A OBJETOS POR OVER YESID BARRERA FERNANDEZ.
Introducción a UML DIAGRAMA DE CLASES Departamento de Informática
TEMA 9: DIAGRAMA DE CLASE EN UML
Clasificación de Diagramas
Introducción a la Programación Orientada a Objetos (POO)
UML Casos de Uso (repaso) y Diagramas de Clase
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 IV INTRODUCCIÓN.
FUNDAMENTOS DE PROGRAMACION
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,
La Programación Orientado a Objetos
Clases “ Es una Abstracción de un elemento del mundo real ”
Diagrama de Clases.
Paradigma Orientado a Objetos
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.
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
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.
Estructura de Datos Departamento de Programación Universidad Metropolitana Contenido: UML. Envío de mensajes. Relaciones. Asociación. Agregación o composición.
Transcripción de la presentación:

Arquitectura CLARO-TECNOTREE Aplicaciones Java y Arquitectura CLARO-TECNOTREE CAPITULO 2: Aplicación del Paradigma OO

Diseño y programación de herencia de clases: Concepto de Herencia. La herencia es un concepto central de la POO. Responde al mecanismo de especialización y generalización. La herencia es un tipo de relación “es un” donde cada clase puede tener una clase ancestro y clases descendientes. Uno de los mecanismos de abstracción es el de generalización que tiene que ver con las taxonomías, permite definir una clase o tipo como un caso general de varias clases o tipos. Por ejemplo, defino la clase de los cuadriláteros a partir de los paralelogramos, rectángulos y rombos. La operación inversa se llama especialización y es la que permite definir clases como casos particulares de otras más generales.

Diseño y programación de herencia de clases: Gracias a este tipo de relación cada clase hereda atributos y comportamiento de su clase ancestro.

Diseño y programación de herencia de clases: En este conjunto de clases se plantea la relación de herencia. Cada clase tiene su superclase o clase ancestro (clase superior en la jerarquía) y cada clase puede tener una o más subclases (clases inferiores en la jerarquía). Los constructores no se heredan Ejercicio: Se debe implementar un generador de listados de los clientes de una empresa que debe ser armado en un archivo PDF a partir de la BD. la BD. Este listado en pdf debe ser posible imprimirlo por impresora y enviarlo por mail. Se deben definir las clases necesarias para dar soporte a este requerimiento.

Diseño y programación de herencia de clases: Reutilización y extensión Llamamos reutilización al uso de clases u componentes desarrollados y probados en un determinado contexto, para incorporar esa funcionalidad en una aplicación diferente a la de origen. La extensión se basa en aprovechar las clases desarrolladas para una aplicación, utilizándolas en la construcción de nuevas clases para la misma u otra aplicación. La extensión es una forma de aplicar la reutilización ya que aprovechamos la definición de una clase para luego agregar más funcionalidad o modificar alguna existente.

Diseño y programación de herencia de clases: Reutilización y extensión Cuando usamos herencia, lo que se está reutilizando es la interfaz, que es lo que ven los clientes. Cualquier mensaje que pueda recibir un objeto de la clase ancestro lo podrá recibir también uno de las clases descendientes, a demás de poder recibir mensajes que invoquen métodos que sólo existen en la clase descendiente. De aquí deducimos que los métodos declarados en la clase descendiente no van a estar en la clase ancestro.

Diseño y programación de herencia de clases: Consideraciones en la aplicación de Herencia Una clase hereda todos los miembros de su superclase, excepto los constructores. Esto se debe principalmente a que la estructura interna de datos de un objeto de una subclase, estará formada por los atributos que ella define y por los heredados de su superclase. Una subclase no tiene acceso directo a los miembros privados (private) de su superclase. Esto debe ser así para cumplir con el principio de encapsulamiento (este concepto estudiaremos más adelante). Una subclase puede tener acceso directo a los miembros públicos (public) y protegidos (protected) de su superclase.

Diseño y programación de herencia de clases: Consideraciones en la aplicación de Herencia En el caso de que la subclase pertenezca al mismo paquete que el de su superclase, si puede tener acceso a los miembros predeterminados (miembros sin modificador de acceso establecido por el programador). Una subclase puede agregar sus propios miembros, a pesar de los ya heredados desde su superclase. No se puede aplicar la herencia múltiple en Java, una clase puede heredar de una sola clase.

Diseño y programación de herencia de clases: Consideraciones en la aplicación de Herencia Si se quiere que una clase no permita que se extienda de la misma, que no posea subclases, se la debe declarar cómo final. Por ejemplo: public final class Util { //Cuerpo de la clase }

Diseño y programación de herencia de clases: Interfaces Una interfaz define un conjunto de mensajes que pueden recibir las clases que la implementan, donde cada una debe responder de acuerdo a la implementación que dio a cada uno de estos métodos. En conjunto estas operaciones especifican un servicio. Sintaxis para definir una interfaz en Java: interface y el cuerpo de la interfaz entre llaves {}. [public] interface nombre_interfaz [extends interfaces] { //Cuerpo de la interfaz }

Diseño y programación de herencia de clases: Interfaces La interfaz puede extender de otras interfaces, no de clases. Si no se especifica el modificador de acceso public, la interfaz sólo será accedida para las clases definidas en el mismo paquete. El cuerpo de la interfaz posee las siguientes características: Sólo puede poseer atributos estáticos y con valor constante. En el caso de que no se especifique que el atributo es estático (static) y constante (final) automáticamente se establece con estas características. El modificador de acceso es público.

Diseño y programación de herencia de clases: Interfaces Los métodos deben ser públicos (public) y no pueden ser estáticos o de clase. Si no especifica el modificador de acceso public, automáticamente el método se establece como tal. Los métodos no son implementados, solo se especifica hasta los parámetros que puede recibir entre (…) y luego se finaliza con un “;”. public int metodo_prueba ([lista_parametros]); Las clases que implementen la interfaz son las que implementarán el cuerpo del método.

Diseño y programación de herencia de clases: Interfaces La palabra extends permite que una interfaz extienda de otra; a continuación de la palabra extends se especifica la lista de interfaces Una interfaz hereda todas las constantes y métodos de las interfaces de las cuales deriva, si en la interfaz existe un método o atributo con igual nombre que algunos de los métodos o atributos de las interfaces que deriva, vale el método o atributo de la interfaz que estamos definiendo. El mismo análisis vale para una clase que implementa una interfaz.

Diseño y programación de herencia de clases: Interfaces

Diseño y programación de herencia de clases: ENCAPSULAMIENTO Se debe tener antes en claro el concepto de abstracción y ocultamiento de la implementación. La abstracción consiste en identificar las características esenciales de un objeto, así como su comportamiento. De esta manera logramos definir las distintas clases de nuestro sistema y la relación entre las mismas. El ocultamiento de la implementación tiene por objetivo que el cliente no use la estructura interna de la clase. Se puede usar nada más que la interfaz de nuestra clase pero no la implementación. El ocultamiento nos permite restringir y controlar el uso de la clase.

Diseño y programación de herencia de clases: ENCAPSULAMIENTO El encapsulamiento tiene por objetivo concentrar las características y comportamiento de un objeto en un solo lugar, es decir, en una clase. Cada clase se preocupa de sí misma y tiene todo encapsulado en su interior, cada clase debe desacoplar a las demás de sus detalles internos, solo debemos saber cómo usar sus servicios a través de su interfaz. Evidentemente esto nos permite dominar la complejidad y el concepto de encapsulamiento se cumple aplicando los de abstracción (concentrando las características esenciales y comportamiento de un objeto en una clase) y ocultamiento de implementación (ocultando los detalles internos de la clase, evitar que el cliente sea dependiente de una implementación en particular)