Introducción a la Orientación a Objetos
|
|
|
- Eugenia Suárez Correa
- hace 9 años
- Vistas:
Transcripción
1 Introducción a la Orientación a Objetos
2 Breve historia de la OO 1960s. Simula incorpora características propias de la OO. 1970s. Smalltalk. Lenguaje totalmente OO. 1990s. Boom de la OO Hoy. Época dorada de la OO. Si yo tuviera que vender mi gato (al menos a un informático), no diría que es amable y autosuficiente y que se alimenta de ratones: más bien diría que está orientado a objetos Roger King 2
3 Metodologías y OO Presente en todas las fases de la metodología de desarrollo: Análisis Diseño Implementación Validación Mantenimiento 3
4 Breve historia de UML Representar artefactos en metodologías OO 1990s: - James Rumbaugh: OMT, Grady Booch: Booch's method, Ivar Jacobson: OOSE - Unified Modelling Language (UML) ISO/IEC 19501:2005 Information technology Open Distributed Processing Unified Modeling Language (UML) Version UML es el estándar adoptado por la industria Última versión: UML 2.0 (2.1.x) 4
5 OO desde la Programación Estructurada OO como evolución del concepto de TAD - Un objeto es una entidad simple - Los sistemas complejos se forma estableciendo relaciones entre objetos - Una aplicación es un conjunto de objetos que interactúan entre sí mediante paso de mensajes - El control de la aplicación viene dado por el orden en que se envían los mensajes 5
6 OO y Paso de Mensajes (i) Paso de mensajes - Un objeto envía un mensaje a otro, invocando una operación - El receptor ejecuta el método correspondiente y devuelve el resultado controladorpedidos 1: validarpago() pasareladepago 2: enviarpedido() almacen 6
7 OO y Paso de Mensajes (ii) Paso de mensajes - Visión ortodoxa Cada objeto es un thread de ejecución independiente Paso de mensajes = mensajes entre threads - Implementaciones actuales Inicialmente un único thread Paso de mensajes = llamada a función Manejo explícito de threads y RPCs 7
8 Visión General de la OO - Problemas que pretende resolver la OO: Mantenimiento Extensibilidad Reutilización - Cómo? Idea inicial: las entidades (objetos) del dominio son la parte más estable del sistema - Características básicas de la OO: Abstracción. El objeto representa entidades cercanas al dominio del problema, no a la máquina Encapsulación. El objeto oculta su información, los demás objetos acceden a su información a través de una interface definida por él (concepto de caja negra) 8
9 Ejercicio Identificar posibles objetos en una aplicación de mensajería instantánea Qué problemas propios de la OO nos hemos encontrado? - Identificar objetos - Establecer atributos y métodos 9
10 Introducción a UML (i) - Es en su mayoría un lenguaje gráfico - Cubre análisis, diseño, despliegue - Extensible, sus componentes son opcionales - Abierto a interpretación (p.e. implementar un diseño) 10
11 Introducción a UML (ii) Distintos tipos de diagramas para expresar distintos aspectos del desarrollo: - Diagrama de casos de uso - Diagrama de clases, de paquetes, de componentes - Diagrama de secuencia, de colaboración, de actividad, de estados - Diagrama de despliegue -... Especificación: ~ páginas 11
12 Introducción a UML (iii) Herramientas de UML - Papel y lápiz - Software de dibujo especializado - Herramienta integrada en un entorno de desarrollo 12
13 Propiedades de los objetos (i) Objeto: "encapsulamiento de un conjunto de operaciones (métodos) que pueden ser invocados externamente, y de un estado que recuerda el efecto de los servicios" "Análisis y diseño detallado de Aplicaciones informáticas de gestión" [Piattini et al., 1996] 13
14 Propiedades de los objetos (i) Estado - Viene dado por el valor de sus atributos - Cambia a medida que se ejecuta el programa unalista - items = [ abc, foo, bar ] - last = 3 - it =2 + añadir(item:string) + borrar(item:string) + elemento_en(i:int):string + siguiente():string 14
15 Propiedades de los objetos (ii) Identidad - Cada objeto tiene identidad propia, independientemente de su estado. unalista otralista - items = [ abc, foo, bar ] - last = 3 - it = 2 - items = [ abc, foo, bar ] - last = 3 - it = 2 15
16 Propiedades de los objetos (iii) Comportamiento - Todo objeto posee un conjunto de métodos que determinan su comportamiento unalista unalistaordenada - items = [ abc, foo, bar ] - last = 3 - it = 2 - items = [ abc, bar, foo ] - last = 3 - it = 2 + añadir(item:string) + borrar(item:string) + elemento_en(i:int):string + siguiente():string + añadir(item:string) + borrar(item:string) + elemento_en(i:int):string + siguiente():string 16
17 Propiedades de los objetos (iv) Tiempo de vida - El objeto existe durante un período finito de tiempo. - La mayoría una parte de la ejecución del programa 17
18 Resumen OO cubre el ciclo de desarrollo completo - Encapsulación Objeto - Encapsula: Características: - Abstracción Atributos Métodos - Propiedades: Paso de mensajes UML Estado Identidad Comportamiento Tiempo de vida 18
19 LOO basado en prototipos o clases Basado en prototipos - Javascript, self,... - Menos populares (salvo javascript) - Un objeto se crea duplicando otro objeto existente Basado en clases - Java, C#, C++, Ruby, Smalltalk, Eiffel,... - Más extendidos - Los objetos se crean a partir de clases 19
20 Clases Clase: definición abstracta de un objeto. conjunto de, plantilla, definición de,... Una clase es una descripción de un conjunto de objetos que manifiestan los mismos atributos, operaciones, relaciones y la misma semántica (Object Modelling and Design [Rumbaught et al., 1991]) Una clase es un conjunto de objetos que comparten una estructura y un comportamiento comunes [Booch G., 1994] 20
21 Especificación de una clase Definición de una clase: - Nombre de la clase - Lista de atributos - Lista de métodos 21
22 Clases. Problemas de diseño No Bajo acoplamiento Clases sin métodos 22
23 Visibilidad (i) Visibilidad de atributos y métodos - Público - Privado Los atributos públicos rompen la encapsulación selectores / modificadores (getters / setters) métodos públicos: interface (contrato) 23
24 Visibilidad (ii) Ámbitos especiales: - Protegido (#) - Paquete (~) Solucionan problemas de implementación, no de diseño 24
25 Instanciación Crear un objeto (instancia) a partir de la definición de una clase 25
26 Clases. Convenciones Nombres de las clases - Guía de estilo. P.e. CamelCase - Singular - Sustantivos Nombres de los atributos - Privados comenzando por subrayado _ 26
27 Paquetes (i) Un paquete (package) es una agrupación de clases relacionadas. Favorece el reuso y la creación de librerías. Los LOO suelen tener soporte de paquetes. 27
28 Paquetes (ii) Estereotipos y relaciones entre paquetes 28
29 Relaciones (i) Permiten - Intercambio de mensajes - Composiciones complejas de objetos Tipos de relaciones - Dependencia - Generalización - Asociación - Agregación / composición 29
30 Relaciones (ii) Datos de una relación - Cardinalidad - Navegabilidad - Restricciones 30
31 Asociación Relación de tipo general 31
32 Implementación de asociaciones Las relaciones se implementan como atributos según su cardinalidad => referencia - 0..n => colección (lista, array,...) Los atributos no se especifican en el diseño Práctica común: - nombre del atributo = papel en la relación 32
33 Paso de mensajes Mensaje: nombre + argumentos Un mensaje invoca una operación - Cada operación se corresponde con un método - Distintos objetos implementan la operación mediante métodos con implementaciones distintas - En general, los mensajes son síncronos - Los LOO implementan el paso de mensajes como llamadas a función 33
34 Diagrama de secuencia Secuencia temporal de envío de mensajes - Muestra un caso concreto 34
35 Agregación y composición (i) Relación es_parte_de - Jerarquía todo / parte - Permite la creación de estructuras complejas - El objeto base delega en sus agregados Composición vs. agregación - es_parte_de completo / incompleto - Tiempo de vida vinculado Implementación: equivalente asociaciones 35
36 Agregación y composición (ii) 36
37 Generalización (i) Relación es_un - Jerarquía generalización / especialización - Permite la herencia entre clases - Jerarquía de clases. Superclases, subclases Las clases hijas heredan atributos y métodos de la clase padre y ancestros. Pueden redefinir y añadir atributos y métodos. 37
38 Generalización (ii) Especialización - Un objeto de la clase hija puede usarse en los mismos lugares que un objeto de la clase padre, pero no viceversa - Punto de extensión Generalización - Las clases hija heredan de las clases ancestros - Factorizan elementos de diseño e implementación 38
39 Herencia Simple vs. Múltiple Simple: una única superclase Múltiple: varias superclases Problemas de la herencia múltiple - Herencia repetida Heredar de dos clases con el mismo ancestro - Conflicto de nombres Heredar de dos clases con atributos o métodos con el mismo nombre 39
40 Problemas de la Herencia Múltiple 40
41 Herencia (i) Evolución del ejemplo: 41
42 Herencia (ii) Cuidado: no romper la encapsulación 42
43 Herencia (iii) Problema: interface de CartaRol 43
44 Herencia (iv) La interface de la raíz es la parte visible a los clientes de la jerarquía 44
45 Herencia (v) 45
46 Herencia (vi) Las relaciones también se heredan 46
47 Clase abstracta Clase que no tiene instancias Puede tener métodos sin implementar Permite - Definir interfaces comunes para las subclases - Factorizar atributos y métodos comunes Clase concreta - No abstracta, puede tener instancias - Debe implementar los métodos abstractos heredados 47
48 Clase abstracta (ii) 48
49 Clase abstracta (iii) 49
50 Generalización vs. Agregación (i) Generalización Agregación - Usa la herencia - Usa la delegación - Estática, en tiempo de diseño - Dinámica, en tiempo de ejecución - Basado en el concepto de clase - Independiente del concepto de clase - La herencia es implícita - La delegación es explícita - Relación es_un - Relación es_parte_de 50
51 Generalización vs. Agregación (ii) Delegación vs. herencia 51
52 Generalización vs. Agregación (iii) vs. 52
53 Generalización vs. Agregación (iv) vs. 53
54 Interfaces (i) Declaración de métodos públicos También elemento de OO Caso extremo de clase abstracta - Sin atributos - Todos los métodos abstractos 54
55 Interfaces (ii) Una clase realiza una interface - Similar a la especialización - Si no es abstracta debe implementar todos los métodos definidos en la interface Una clase puede implementar múltiples interfaces - Alternativa a la herencia múltiple - Permite mayor flexibilidad en diseños complejos 55
56 Interfaces (iii) 56
57 Tipos y subtipos (i) Clases e Interfaces definen tipos - Especialización y realización crean subtipos - Si B es un subtipo de A La interface de un objeto de tipo B contiene la interface definida en el tipo A Un objeto de tipo B puede representar los mismos papeles que un objeto de tipo A, pero no viceversa Polimorfismo - Un subtipo puede redefinir métodos - Un objeto puede realizar varios tipos 57
58 Tipos y subtipos (ii) Polimorfismo en Lenguajes OO - Precisan dynamic dispatch La selección del método sólo se puede resolver en tiempo de ejecución - Ejemplo (diagrama de clases Baraja/Carta): Carta c c = new NaipeEspañol() c.nombre() c = new CartaRol() c.nombre() método(c:carta) c.nombre() 58
59 Sobrecarga Otra forma de polimorfismo Métodos con el mismo nombre y distinta firma En general es considerado pernicioso - Mismo nombre para distintas operaciones 59
60 Dependencia Relación débil entre clases. Expresa: - Uso como parámetro, resultado - Instanciación 60
61 Constructores, destructores Constructor - Se ejecuta tras crear un objeto - Inicializa el estado del objeto - Puede tener argumentos Destructor - Se ejecuta antes de eliminar una instancia - Libera recursos 61
62 Referencias Referencia a objetos - Independiente de la localización en memoria - Un objeto puede tener múltiples referencias - En LOO, las variables contienen referencias Carta c1 Carta c2 c1 = new NaipeEspañol() c2 = c1 c1 = new NaipeEspañol() 62
63 Garbage collector Gestión de memoria explícita - C++ Gestión de memoria implícita - javascript, java, ruby,... - Garbage collector 63
64 Metaclases Metaclases - Las clases son ciudadanos de primer orden - Objetos que representan clases - Introspección 64
Programación. Orientada a Objetos. Prof. Angela Di Serio. Universidad Simón Bolívar Especialización en Telemática
Programación Orientada a Objetos Prof. Angela Di Serio Universidad Simón Bolívar Especialización en Telemática Agenda Clase 2 Qué es Orientado a Objetos? Conceptos: objeto, clase, instancias, mensajes
Ingeniería de Software. UML.
Ingeniería de Software. Unified Modeling Language UML. Ingeniería de Software. UML Página 0 Qué es el UML? The Unified Modeling Language (UML) is a graphical language for visualizing, specifying, constructing,
Contenido. 1. El proceso 2. Los modelos 3. Los diagramas 4. Ejemplo
Tutorial Contenido 1. El proceso 2. Los modelos 3. Los diagramas 4. Ejemplo 1. El proceso Fases soportadas por UML Análisis de requisitos de usuario Análisis de requisitos de software Diseño de la plataforma
Introducción a OOP. Programación Orientada a Objeto
Introducción a OOP Programación Orientada a Objeto Evolución Programación no Estructurada, Programación procedimental, Programación modular y Programación orientada a objetos. Programación no Estructurada
Curso de Java POO: Programación orientada a objetos
Curso de Java POO: Programación orientada a objetos Luis Guerra Velasco Curso INEM. Programación en Java Diciembre 2010 Índice 1 Introducción 2 Comportamiento y estado 3 POO en Java 4 Relaciones 5 Herencia
Unified modeling language
Unified modeling language UML es un lenguaje para la especificación, visualización, construcción y documentación de documentos de sistemas de software. Es independiente del lenguaje de implementación y
UML El Lenguaje Unificado de Modelado Grady Booch, Jim Rumbaugh e Ivar Jacobson
UML El Lenguaje Unificado de Modelado Grady Booch, Jim Rumbaugh e Ivar Jacobson El lenguaje UML es un estándar OMG diseñado para visualizar, especificar, construir y documentar software orientado a objetos.
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
* 1 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 5 Generalización e interface 6 Organización de clases
Reutilización con Delegación y Herencia
Reutilización con Delegación y Herencia Carlos Fontela [email protected] Temario Delegación Herencia UML: clases, paquetes, secuencias Cuándo usar herencia y cuándo delegación Redefinición Clases abstractas
PROGRAMACION ORIENTADA A OBJETOS EN C++
PROGRAMACION ORIENTADA A OBJETOS EN C++ 1- INTRODUCCIÓN El lenguaje C++ representa el resultado de los esfuerzos realizados para proporcionar las ventajas de la programación Orientada a Objetos a un lenguaje
Ingeniería de Software
Ingeniería de Software ANÁLISIS Y DISEÑO DE SISTEMAS CON Auxiliar: Andrés Neyem [email protected] Oficina 418 de Doctorado Auxiliar - 10 de Abril de 2007 Repaso Historia de los lenguajes de modelamiento
A3F. Objetos (uso) Carlos Fontela
Objetos (uso) Carlos Fontela [email protected] Temario Objetos y mensajes Objetos y clases Estado, comportamiento, identidad Historia hacia la POO POO vs. procedural 2c2009 2 Operando sobre objetos (Smalltalk)
Diagramas de clases de UML
Diagramas de clases de UML Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile [email protected] Qué es UML? v UML ( Unified Modeling Language ) es un
Herencia. Implementación en Java
Herencia Implementación en Java Herencia Concepto de Herencia Es el mecanismo que permite definir nuevas clases partiendo de otras ya existentes. Las clases que derivan de otras heredan automáticamente
Programación Orientada a Objetos. Integrantes: Santiago Hernández Bolívar Edwin Alexander Bohórquez
Programación Orientada a Objetos Integrantes: Santiago Hernández Bolívar Edwin Alexander Bohórquez Tabla de Contenido Historia. Filosofía del paradigma. Conceptos claves. Ventajas y desventajas. Lenguajes
Curso de Java POO: Programación orientada a objetos
Curso de Java POO: Programación orientada a objetos Luis Guerra [email protected] Curso INEM. Programación en Java Marzo 2011 Índice Previo Repaso y encapsulación Empaquetado Relaciones entre clases Herencia
Programación orientada a objetos. Resumen de Temas Unidad 5: Herencia
Programación orientada a objetos Resumen de Temas Unidad 5: Herencia 5.1 Introducción a la Herencia La herencia es el mecanismo fundamental de relación entre clases en la orientación a objetos. Relaciona
UML. (Unified Modeling Language) Lenguage Unificado de Modelado
1 (Unified Modeling Language) Lenguage Unificado de Modelado Antonio J. Sierra 1 Índice Historia Introducción Objetivos del modelo Críticas Modelo Conceptual de Clases Diagrama de Clases 2 2 Historia (I)
Reutilización con delegación, herencia y polimorfismo
Reutilización con delegación, herencia y polimorfismo Carlos Fontela cfontela@ @fi.uba.ar Temario Delegación Herencia UML: clases, paquetes, secuencias Cuándo usar herencia y cuándo delegación Redefinición
CLA. Diagramas de clases en Métrica V3
CLA Diagramas de clases en Métrica V3 1 Diagramas de clases Qué es? Representa la estructura y comportamiento de cada uno de los objetos del sistema y sus relaciones con los demás objetos. Objetivos? Representar
Tema 3. Diagramas de Clases y Objetos C H R I STO PHER E X P Ó S I TO I Z Q U I ERDO A I R A M E X P Ó S I TO M Á R Q UEZ I S R A E L LÓ P EZ P L ATA
Tema 3. Diagramas de Clases y Objetos C H R I STO PHER E X P Ó S I TO I Z Q U I ERDO A I R A M E X P Ó S I TO M Á R Q UEZ I S R A E L LÓ P EZ P L ATA M A R Í A B E L É N M E L I Á N BAT I STA J O S É MARCOS
Universidad Salesiana de Bolivia
Universidad Salesiana de Bolivia Ingeniería de Sistemas I DATOS DE IDENTIFICACIÓN PLAN DE DISCIPLINA GESTIÓN II - 2015 INSTITUCIÓN UNIVERSITARIA: Universidad Salesiana de Bolivia RECTOR: Dr. Rvdo. P. Thelian
IMPLEMENTACIÓN DE CONCEPTOS P.O.O. EN JAVA
IMPLEMENTACIÓN DE CONCEPTOS P.O.O. EN JAVA Implementación de conceptos P.O.O. en Java Temario 2. Conceptos de Programación Orientada a Objetos 1. Conceptos de P.O.O. 2. Implementación de conceptos P.O.O
Capítulo 16. Diagrama de Clases UML
Capítulo 16. Diagrama de Clases UML Florentino TORRES M. CINVESTAV-Tamaulipas 15 de Oct del 2012 Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 1 / 70 1 Capítulo 16. Diagrama de Clases UML Aplicando
PNFSI. Asignatura: Desarrollo de Software. Tema 1: Programación Orientada a Objetos
PNFSI Asignatura: Desarrollo de Software Tema 1: Programación Orientada a Objetos Ing. Zamantha González Abril, 2008 Contenido Conceptos básicos Clase Objeto o instancia Atributos Métodos Constructores
Tema 1. Introducción a UML C H R I STO PHER E X P Ó S I TO I Z Q U I ERDO A I R A M E X P Ó S I TO M Á R Q UEZ I S R A E L LÓ P EZ P L ATA M A R Í A
Tema 1. Introducción a UML C H R I STO PHER E X P Ó S I TO I Z Q U I ERDO A I R A M E X P Ó S I TO M Á R Q UEZ I S R A E L LÓ P EZ P L ATA M A R Í A B E L É N M E L I Á N BAT I STA J O S É MARCOS M O R
Programación Orientada a Objetos (POO)
Programación Orientada a Objetos (POO) Introducción La programación orientada a objetos es una técnica de programación en la cual expresamos el código en términos relacionados a como vemos las cosas en
PATRONES DE DISEÑO DE CREACIÓN. Abstract Factory Builder Factory Method Prototype
PATRONES DE DISEÑO DE CREACIÓN Abstract Factory Builder Factory Method Prototype Patrones de diseño de creación Abstraen el proceso de creación de instancias Encapsulan el conocimiento sobre las clases
Aplicaciones de Escritorio
Aplicaciones de Escritorio Introducción n a la Programación Orientada a Objetos con Java Disertantes: Ing. Rasjido, Jose. AdeS Montenegro, Cristian. Agenda Clases y Paquetes. Clases y Paquetes. Modificadores
MODULO IV. Análisis y Diseño de Sistemas de Información INF-162 IV. UML. 4.1 Introducción
MODULO IV Análisis y Diseño de Sistemas de Información INF-162 IV. UML 4.1 Introducción Facilitador: Miguel Cotaña 11 de Octubre 2010 1 QUÉ ES UML? UML = Unified Modeling Language Un lenguaje de propósito
Diagrama de Clases I: asociaciones
Programación Orientada a Objetos Diagrama de Clases I: asociaciones Ing. Julio Ernesto Carreño Vargas MsC. Concepto de diagrama de clases Modelo de Dominio Un modelo conceptual explica los conceptos más
Definiciones en Orientación a Objetos
Definiciones en Orientación a Objetos Dr. Oldemar Rodríguez Rojas Escuela de Informática Paradigma Funcional Ø Se basan en la idea de que el Dominio de una Aplicación y los Requerimientos se pueden modelar,
Introducción a la Orientación a Objetos
Introducción a la Orientación a Objetos Fernando Bellas Permuy Departamento de Tecnologías de la Información y las Comunicaciones (TIC) Universidad de A Coruña http://www.tic.udc.es/~fbellas [email protected]
Conceptos Básicos. Programación Orientada a Objetos 2
Programación Orientada a Objetos Conceptos Básicos de Objetos Ing. Julio Ernesto Carreño Vargas MsC. Conceptos Básicos Las aproximaciones ADOO y POO, proveen a los objetos como el principal medio para
Ingeniería del Software Orientada a Objetos. Unidad 5: Conceptos del Paradigma Orientado a Objetos
Ingeniería del Software Orientada a Objetos Unidad 5: Conceptos del Paradigma Orientado a Objetos Por qué la Orientación a Objetos? Proximidad de los conceptos de modelado respecto de las entidades del
1. Asignar Responsabilidades a componentes de software es la habilidad más importante del AOO. Porque:
Análisis y Diseño O.O. Preguntas del diseño : Cómo podrían asignarse responsabilidades a las clases de los objetos? Cómo podrían interactuar los objetos? Qué deberían hacer las clases? Patrones : Ciertas
Programación Dirigida a Objetos. MATERIAL COMPLEMENTARIO Tema 5.- Herencia
Tema 5.- Herencia 1. Herencia múltiple en C++: ambigüedad de nombres...2 2. Herencia en SMALLTALK...4 2.1. Determinación de los métodos a ejecutar: self y super...4 2.2. Herencia de métodos y variables
Principios de la Tecnología de Objetos
Principios de la Tecnología de Objetos Unified Modeling Language Copyright Copyright (c) 2004 José M. Ordax Este documento puede ser distribuido solo bajo los términos y condiciones de la Licencia de Documentación
Derechos de Acceso: COMPOSICION
CLASES Una clase es un tipo definido por el usuario que describe los atributos y los métodos de los objetos que se crearan a partir de la misma. class nombre_clase cuerpo de la clase Derechos de Acceso:
DIAGRAMA DE CLASES EN UML
DIAGRAMA DE CLASES EN UML Mg. Juan José Flores Cueto [email protected] Ing. Carmen Bertolotti Zuñiga [email protected] INTRODUCCIÓN UML (Unified Modeling Language) es un lenguaje que permite modelar,
Tema 5. Herencia. Departamento de Lenguajes y Sistemas Informáticos Universidad de Granada
Tema 5 Herencia Departamento de Lenguajes y Sistemas Informáticos Universidad de Granada Qué es la Herencia? Propiedad de que las instancias de una clase hija tengan acceso a la estructura de datos* y
PROGRAMACIÓN ORIENTADA A OBJETOS
CONCEPTOS GENERALES PROGRAMACIÓN ORIENTADA A OBJETOS XAVIER CALDERÓN H. CONCEPTOS Paradigma: Palabra de origen griego que significa modelo o patrón. Paradigma de Programación: Propuesta de una comunidad
Conceptos de Programación Orientada a Objetos
Paradigmas de programación Prog. orientada a objetos Conceptos de Programación Orientada a Objetos Abstracción de Programación estructurada Programación imperativa 2 Programación estructurada (I) Programación
Las redes semánticas intentan trasladar esa afirmación a un formalismo Una red semántica será un grafo donde:
Redes Semánticas Redes semánticas La lógica como lenguaje de representación tiene dificultades prácticas Son necesarios mecanismos mas intuitivos y fáciles de usar La psicología cognitiva afirma: La representación
PROGRAMA DE CURSO. Metodologías de Diseño y Programación. Nombre en Inglés. Design and Programming Methodologies.
Código CC3002 Nombre Nombre en Inglés PROGRAMA DE CURSO Metodologías de Diseño y Programación Design and Programming Methodologies SCT es Docentes Horas de Cátedra Horas Docencia Auxiliar Horas de Trabajo
TEMA 4. PROCESO UNIFICADO
TEMA 4. PROCESO UNIFICADO Definición El Proceso Unificado de Desarrollo Software es un marco de desarrollo de software que se caracteriza por estar dirigido por casos de uso, centrado en la arquitectura
Taller de Programación I. Tema 10: Herencia en Java
INACAP Universidad Tecnológica de Chile Sede Santiago Centro Taller de Programación I Curso Java J2SE Tema 10: Herencia en Java Ing. Manuel López Ramos (versión 1) Parte I Qué es la herencia entre clases?
Tema 6 Patrones de Diseño. Programación Orientada a Objetos Curso 2010/2011
Tema 6 Patrones de Diseño Programación Orientada a Objetos Curso 2010/2011 Contenido Introducción a los patrones de diseño. Patrón del Método plantilla. Patrón Composición. Patrón Estrategia. Clases anónimas
Introducción a la programación orientada a objetos
Introducción a la programación orientada a objetos Cristina Cachero Castro Pedro J. Ponce de León Amador Estela Saquete Boró Departamento de lenguajes y sistemas informáticos Universidad de Alicante Índice
TEMA 4. PROCESO UNIFICADO
TEMA 4. PROCESO UNIFICADO Diseño El objetivo final del diseño es producir un Modelo Lógico del sistema a implementar. Diferencia entre Análisis y Diseño del Proceso Unificado Modelo de Análisis Modelo
Diseño estructural y propuesta de actividades. Desarrollo de software, metodología de proyectos IT, licenciatura en informática o afines
Formato 1 UNIVERSIDAD DE GUADALAJARA FASE 1 1. DATOS GENERALES DEL CURSO Nombre del curso Programación orientada a objetos Programa al que pertenece Créditos y horas Horas teoría 35 Horas práctica 70 Eje
Capítulos 2 y 5: Modelación con UML y Modelo Objeto
Capítulos 2 y 5: Modelación con UML y Modelo Objeto Agenda Recordar: Modelo de Sistema: modelo objeto + modelo funcional + modelo dinámico Ultima Clase: Modelo Objeto Definir el concepto de Modelo de Clases
CLASE 9 -HERENCIA Y POLIMORFISMO
CLASE 9 -HERENCIA Y POLIMORFISMO INTRODUCCIÓN Diferentes tipos de objetos con características y comportamiento comunes. lado1 lado2 lado3 color de línea color de relleno punto Triángulo Círculo radio color
Clases y herencia. FJP Unidad 8. Diseño de clases
Clases y herencia FJP Unidad 8 Encapsulamiento Diseño de clases El encapsulamiento provee protección de atributos y métodos definidos en una clase de forma tal que comportamiento de objetos de una clase
UNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES
UNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES Área de formación: Disciplinaria Unidad académica: Programación Orientada a Objetos Ubicación: Cuarto Semestre Clave: 2087 Horas
Programación orientada a objetos
Programación orientada a objetos Dra. Elisa Schaeffer [email protected] 12 de febrero de 2007 MECAS512 Estructura de Datos en C++ PROGRAMACIÓN ORIENTADA A OBJETOS un paradigma de programación programa
Qué es Java? Un lenguaje de programación Un entorno de desarrollo Un entorno de aplicación Un entorno de despliegue Es similar en sintaxis de C + +.
APUNTES DE JAVA Agenda Bienvenida Conociendo Java La Maquina Virtual Descargar e instalar el compilador El entorno de trabajo El paradigma de la programación orientada a objetos Qué es Java? Un lenguaje
Programación orientada a objetos. Capítulo 8 Mejora de las estructuras mediante herencia
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
Guía práctica de estudio 08: Polimorfismo
Guía práctica de estudio 08: Polimorfismo Elaborado por: M.C. M. Angélica Nakayama C. Ing. Jorge A. Solano Gálvez Autorizado por: M.C. Alejandro Velázquez Mena Guía práctica de estudio 08: Polimorfismo
Definiciones. Orientación a Objetos
Definiciones en Orientación a Objetos Dr. Oldemar Rodríguez Rojas Escuela de Informática Paradigma Funcional Se basan en la idea de que el Dominio de una Aplicación y los Requerimientos se pueden modelar,
INGENIERIA DE SOFTWARE ING. FRANCISCO RODRIGUEZ
INGENIERIA DE SOFTWARE ING. FRANCISCO RODRIGUEZ Ingeniería de Software Tema 4 Lenguaje de Modelado Unificado UML Ing. Francisco Rodríguez Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito
A3F. Polimorfismo. Carlos Fontela
Polimorfismo Carlos Fontela [email protected] Temario Métodos virtuales Métodos abstractos Polimorfismo como concepto Interfaces Clases internas 2c2010 2 cb := CuentaBancaria new. cc := CuentaCorriente
GUIA PROGRAMACIÓN ORIENTADA A OBJETOS
GUIA PROGRAMACIÓN ORIENTADA A OBJETOS 1. Por qué la P.O.O? R= A medida que se van desarrollando los lenguajes, se va desarrollando también la posibilidad de resolver problemas más complejos. En la evolución
Modelado Estructural F E B R E R O,
Modelado Estructural F E B R E R O, 2 0 1 4 Modelado Estructural Sirve para describir los diferentes tipos y relaciones estáticas existentes entre los diferentes objetos de un sistema. A la hora de desarrollar
CC61J / CC Taller de UML Apuntes de Clase
CC61J / CC5404 - Taller de UML Apuntes de Clase Prof. Andrés Muñoz Ordenes 14 de marzo de 2012 Agenda Presentaciones Docente Participantes Curso Introducción Motivación Qué es UML? Historia Características
Implementación de Componentes
Implementación de Componentes Concepto Un componente es una parte no trivial, casi independiente, y reemplazable de un sistema que llena claramente una funcionalidad dentro de un contexto en una arquitectura
UAA-DSE Programación 2 / C++ Eduardo Serna-Pérez
6 Herencia y Polimorfismo La Herencia y el Polimorfismo son dos de los principales mecanismos de programación que caracterizan a la programación orientada a objetos. La herencia sustenta su mecanismo en
MODULO IV. Análisis y Diseño de Sistemas de Información INF-162 IV. UML. 4.1 Introducción
MODULO IV Análisis y Diseño de Sistemas de Información INF-162 IV. UML 4.1 Introducción Facilitador: Miguel Cotaña 17 de Mayo 2012 1 QUÉ ES UML? Un diagrama UML es una representación gráfica parcial (vista)
ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS
ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS OBJETIVOS GENERALES Analizar, Diseñar e Implementar Sistemas Computacionales utilizando el Paradigma de la Orientación a Objetos a través del conocimiento de su sustentación
INGENIERIA DE SOFTWARE. Dr. Mario Rossainz López Fac. de Cs. de la Computación Benemérita Universidad Autónoma de Puebla Primavera 2017
INGENIERIA DE SOFTWARE Dr. Mario Rossainz López Fac. de Cs. de la Computación Benemérita Universidad Autónoma de Puebla Primavera 2017 CONCEPTOS: En general, dentro de un Desarrollo OO se distinguen tres
PROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOS SEBASTIÁN DAVID MORENO BERNAL CRISTIAN CAMILO ORJUELA VELANDIA LENGUAJES DE PROGRAMACIÓN 24/04/2017 1. Introducción 2. Historia 3. Filosofía del paradigma 4. Conceptos
