Abstracción de los datos y Orientación a Objeto Clase 13.

Slides:



Advertisements
Presentaciones similares
Unidad 3 Lenguajes .Net y POO
Advertisements

Curso de java básico (scjp)
Fundamentos de Diseño de Software INFT.1
FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE
Observador (observer) Visita (Visitor) Singleton
Instituto Universitario de Gerencia y Tecnología N - Análisis de Sistemas DIAGRAMA DE CLASES INTEGRANTES: LEIVYS MAZA Informática Mención 205 Profesor:
POLIMORFISMO UNIDAD 4.
Herencia en C#.
Fundamentos de la programación orientada a objetos
Lenguaje de programación Java
UML 1.4 Peter Emerson Pinchao Solis.
Arquitectura CLARO-TECNOTREE
Programación Orientada a Objetos
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.
Informática II Prof. Dr. Gustavo Patiño MJ
Informática II Prof. Dr. Gustavo Patiño MJ
UNIVERSIDAD LATINA (UNILA) ENCAPSULACION Y HERENCIA
Aplicación del paradigma orientado a objetos
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno.
Diseño y programación de
Algoritmos y Estructuras de Datos
PROGRAMACION ORIENTADA
Programación Orientada a Objetos en Java
HERENCIA.
4.- Orientación a Objetos Justo N. Hidalgo Sanz DEPARTAMENTO DE INGENIERÍA INFORMÁTICA.
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.
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 6: Clases Antonio J. Sierra.
1 Herencia en Java Agustín J. González Diseño y Programación Orientados a Objetos.
Ingeniería de Software
Contenido: 1- Que es el .Net Framework 2- Arquitectura en .Net
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.
CS-432: Ingeniería Moderna de Software Semana 3
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.
Interfaces y Clases Internas ELO329: Diseño y Programación Orientados a Objetos.
1 Herencia en Java Agustín J. González Diseño y Programación Orientados a Objetos.
1 Interfaces y Clases Internas ELO-329: Diseño y programación orientados a objetos Agustín J. González.
Clases y Objetos en Java 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.
Facultad de Ingeniería
Unidad 2.1: INTRODUCCIÓN A LA ORIENTACIÓN A OBJETOS.
TEMA 9: DIAGRAMA DE CLASE EN UML
Funciones y Clases Amigas (Friend)‏ Miembros Estáticos (Static)
PROGRAMACIÓN ORIENTADA A OBJETOS Unidad 1 GENERICIDAD
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SCJP 6.0 SEMANA SEIS DESARROLLO, INNER CLASSES.
Programación orientada a objetos
Curso de Java Introducción al Paradigma Orientado a Objetos Prof. Ing. Guido Acosta.
Introducción a la Programación Orientada a Objetos (POO)
Capítulo 2 “Subprogramas/Funciones - Arreglos”
UML Casos de Uso (repaso) y Diagramas de Clase
FUNDAMENTOS DE PROGRAMACION
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,
Programación Orientada a Objetos: CLASES Y OBJETOS
Clases “ Es una Abstracción de un elemento del mundo real ”
Diagrama de Clases.
PRESENTACION DE INGENIERIA ORIENTADA 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.
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
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.
Transcripción de la presentación:

Abstracción de los datos y Orientación a Objeto Clase 13

Contenido Por qué la abstracción de los Datos y OOP Encapsulamiento y Herencia –Módulos y tipos del módulo –Clases

Ventajas de OOP Reduce carga conceptual –Minimiza la cantidad de detalle pensada por el programador en cualquier un momento. Proporciona falta y contención de cambio –Limita la porción de un programa que necesita ser visto al depurar. –Limita la porción de un programa que necesita ser cambiado si la interfaz es la misma. Proporciona independencia entre los componentes del programa. –Facilita el código reutilizable

Código Reutilizable Ofrece existentes funcionalidades y interfaces quitando lo que realmente no se necesita Útil para definir nuevas abstracciones como extensiones o refinamientos de abstracciones existentes.

Modulos en Modula-2 Main program Noticia: Push, pop visible to each other Push, pop visible to modules that import them s, top not visible outside stack module

Module types Multiple instances of a given abstraction Classes = module types + inheritance Cada caso de un tipo del módulo o clase tiene su propia copia del módulo o variables de la clase

Tipo de Modulo Permite a un modulo tener muchas instancias Implementación –Estáticamente los datos conocidos: desplazamiento estático dentro del módulo –Dinámicamente los datos conocidos: Porción del tamaño arreglada Porción del tamaño variable Dope vector al principio de la porción de tamaño fijo ( descriptor del runtime contiene el tamaño de los datos dinámicos). –Subrutinas Replica código para cada instancia (malgastador) Extra, parámetro oculto al subprograma con dirección de almacenamiento del caso del módulo apropiado

Declaración de una Clase en C++ Una declaración puede ponerse en un archivo de.h separado del archivo de.cc que contiene las definiciones. La declaración debe contener toda la información: Programador necesita usar abstracción correctamente. El compilador necesita en orden para generar codigo: –Forzar un poco de información privada en la declaración –La expansión de Inline se necesita en el código

Ejemplo de Declaración Declaración (puede contener privada información también)

Herencia Clases derivadas, clases hijas, subclases. –Tiene todos los datos y métodos de clase base. –Métodos adicionales y datos. Base clase, clase padre, super clase. Jerarquías de la clase. “Generic” clase base.

Generica Clase Base

Ocultando y remplanzado miembros de la clase base Para reemplazar un método de una clase base, redefínalo en la clase derivada. El método de clase base todavía es accesible –Operador de resolución de alcance:: (in C++) –Super keyword (in Java, Smalltalk) –Cambio de nombre explícito (Eiffel)

Envases Abstracción que lleva a cabo una colección de objetos de una cierta clase del elemento. Alternativas: Based on a Container element base class –Objects derived from the element base class Nodo de la lista como objeto separado que contiene un apuntador Miembro del nodo de la lista del objeto mencionado El diseño constante, intuitivo y útiles de la jerarquia de clases son difíciles.

Herencia y visibilidad en C++ Herencia –Métodos ocultos de la clase base en C++: private base class (para ocultar) using declarations (para hacer visible) –Miembros protegidos: visible a los métodos de propia clase o de clases derivadas o amigas –Miembros privados: visible a los métodos de propia clase o amigos.

Ejemplo

Resumen de Regla de Visibilidad C++ –Cualquier clase puede limitar la visibilidad de sus miembros –Una clase derivada puede restringir la visibilidad de miembros de una clase base, pero no puede aumentarlos. –Una clase derivada que limita visibilidad puede restaurarla usando declaraciones

Eiffel –Las clases derivadas conservan restringen y aumentan la visibilidad de los miembros de clases bases. Java es igual que en C++ excepto por –No tiene el diseño protected/private para clases bases. –La palabra clave protegida hace visible dentro del paquete, además de las clases derivadas. –No friends. Resumen de Regla de Visibilidad