Tema 1.- Conceptos básicos de la OO

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Tema 1.- Conceptos básicos de la OO"

Transcripción

1 Tema 1.- Conceptos básicos de la OO 1. HISTORIA DE LOS CONCEPTOS OBJETOS Y MENSAJES CLASES DE OBJETOS HERENCIA OTROS CONCEPTOS DESARROLLO ORIENTADO A OBJETOS EJEMPLO ABSTRACTO DE LIGADURA - POLIMORFISMO

2 1. HISTORIA DE LOS CONCEPTOS Años Datos Programas Lenguajes Datos Programas Fortran, Cobol Estructuras de datos Estructura de programas Programación modular Pascal Tipos Abstractos de Datos (TAD) CLU, ADA, Modula P.O.O. (TAD + Clases de Simula) Smalltalk, C++, Eiffel, Java DATO: representación informativa de un concepto del mundo real Una FACTURA es un registro PROGRAMA: acción sobre una serie de datos La FACTURACION es un proceso que genera facturas. COBRAR UNA FACTURA es un programa que modifica datos de la factura TIPO ABSTRACTO DE DATOS: representación de la información y las acciones de un concepto del mundo real. Una FACTURA es "algo" (una serie de datos) que puede: - crearse - cobrarse - devolverse - cargarse en cuenta... 2

3 2. OBJETOS Y MENSAJES OBJETO: datos que son capaces de comportarse de forma autónoma a través de la recepción y emisión de mensajes. Estos datos representan algún objeto físico o conceptual que se identifica en el mundo real. Los objetos se componen de: - interface: mensajes que puede recibir (entiende) -> PROTOCOLO - datos internos (estado) -> VARIABLES DE INSTANCIA - procedimientos internos -> METODOS DE INSTANCIA Figura 1.- Un objeto 3

4 Un MENSAJE es: Mensaje = id_receptor selector selector : una acción u operación que es capaz de entender el objeto receptor. id_receptor: una referencia al objeto receptor Figura 2.- Objetos y mensajes en Smalltalk Los métodos (comportamiento) son los que responden a los mensajes, pudiendo modificar las variables (estado) de los objetos, o bien mostrar su valor. 4

5 3. CLASES DE OBJETOS Permiten agrupar los objetos según su comportamiento y sus variables. Definición de una clase en JAVA: public class Rectangulo { private Point origen; private Point extremo; } public void cambiaorigen(point nuevoorigen){origen = nuevoorigen}; public int area(){...}; Definición de una clase en C++: class Rectangulo{ private public int origen; int extremo; void cambiaorigen(int); int area(); int extremo(); } void Rectangulo::cambiaOrigen(int nuevoorigen) { origen = nuevoorigen}; int Rectangulo::area() {...} Definición de una clase en Smalltalk: Object subclass: #Rectangulo instancevariablenames: origen extremo classvariablenames: pooldictionaries: Los lenguajes orientados a objetos se organizan entorno a este concepto FUNDAMENTAL de clase. 5

6 En general la clase es anterior a los objetos y éstos se crean a partir de ella: Creación de objetos en JAVA: Rectangulo mirectangulo;... mirectangulo = new Rectangulo( ); Creación de objetos en C++: Rectangulo *mirectangulo; mirectangulo = new Rectangulo(); Creación de objetos en Smalltalk (enviando un mensaje a la clase) mirectangulo := Rectangulo new. Todos los objetos de la clase Rectangulo tendrán las mismas variables de instancia y los mismo métodos: podrán recibir y comprender los mismo mensajes. Los lenguajes poseen un conjunto básico de clases y programar en ellos consiste en: 1. Crear objetos de las clases básicas y enviarles mensajes. 2. Crear nuevas clases a. Dotar a la clase de estado y comportamiento. b. Crear objetos y enviarles mensajes. 6

7 La figura siguiente muestra algunas clases en Smalltalk Figura 3. Definición de la clase Fraction (arriba) e implementación de su método de instancia truncated (abajo). 7

8 4. HERENCIA La creación de nuevas clases se realiza a partir de otra(s) ya existente(s). La herencia permite que cada nueva clase herede de su(s) ancestro(s): - las variables de instancia - los métodos Figura 4.- Herencia de métodos y variables de instancia Es un importante mecanismo de REUTILIZACION. Figura 5. Jerarquía de herencia de la clase Fraction 8

9 5. OTROS CONCEPTOS POLIMORFISMO Y LIGADURA DINAMICA La LIGADURA es el momento en que se resuelven las llamadas a procedimientos y las referencias a los datos. PROGRAM principal BEGIN... call rutina (a,b)... END PROCEDURE rutina (a,b: integer) BEGIN... END En los lenguajes tradicionales esta ligadura se realiza en tiempo de COMPILACION/ENCUADERNACION -> Ligadura estática. En los LOO no siempre podrá o convendrá que la ligadura sea estática. Cuando la ligadura se produce en tiempo de ejecución hablamos de LIGADURA DINAMICA. 9

10 Para comprender la ligadura dinámica, observemos el siguiente ejemplo: Persona: - suegra "Devuelve el nombre de la suegra de una persona" - preguntarporsusuegra "Devuelve el estado de la suegra: 'viva', 'muerta'" - encargarflores: estadodelasuegra "Encarga flores según el estado de la suegra" estadodelasuegra = 'viva' iftrue: [ florista := FloristaNormal new] iffalse: [ florista := FloristaFuneraria new]. ramo := florista prepararflores. florista entregar: ramo a: (self suegra) Florista - prepararflores Prepara flores - entregar: unramo a: unnombre Entrega un ramo a un nombre FloristaNormal (subclase de florista) - prepararflores Prepara un ramo de rosas FloristaFuneraria (subclase de florista) - prepararflores Prepara una corona de flores unapersona := Persona new. estadosuegra:= unapersona preguntarporsusuegra. unapersona encargarflores: estadosuegra. 10

11 La ligadura dinámica es necesaria en: prepararflores no puede ligarse a una florista concreta hasta tiempo de ejecución La ligadura dinámica es útil: es posible introducir nuevas subclases de Florista que funcionarían del mismo modo. El polimorfismo es la capacidad de una referencia para contener objetos de diferentes clases: florista es una variable polimórfica. Hay lenguajes en que la ligadura es siempre dinámica (Smalltalk, Eiffel). En otros es mixta dependiendo de lo que desee el programador (C++, Pascal O.O) y en ocasiones depende de si el lenguaje contiene tipos y clases (Java y C++). 11

12 OCULTAMIENTO DE INFORMACION No es posible acceder al interior de un objeto si no es a través de mensajes: NO se puede conocer una variable de instancia si no hay un método para ello! Protege de "agresiones" a los objetos. Juanito Cómo te llamas? 12

13 6. DESARROLLO ORIENTADO A OBJETOS Desarrollar software orientado a objetos consiste, fundamentalmente, en determinar las clases que intervienen en una aplicación y las relaciones entre ellas. Hay que mirar el mundo PENSANDO que está lleno de objetos que se mandan mensajes entre sí. Los métodos de especificación y diseño tratan de identificar las CLASES de objetos que constituyen una aplicación, diseñarlas e implementarlas. 13

14 7. EJEMPLO ABSTRACTO DE LIGADURA - POLIMORFISMO LIGADURA ESTATICA Elementos = (Sobre, Lista, Informe,...) ElementoBuzon : record Nombre:...; Dirección:...; CASE tipo_elemento: elementos Sobre:...; Lista:...; Informe:...; Procedure ver_elemento (elemento: ElementoBuzon);... CASE elemento.tipo_elemento Sobre: ver_sobre (elemento); Lista: ver_lista (elemento); Informe: ver_informe (elemento);... END CASE 14

15 LIGADURA DINAMICA Clase ElementoBuzon: hereda de Object Public void ver () Clase Sobre: hereda de ElementoBuzon Public void ver() {muestra un sobre} Clase Lista: hereda de ElementoBuzon Public void ver() {muestra una lista} Clase Buzon: hereda de Object Protected ColecccionDeElementoBuzon elementos Public void ver() {... Para cada Item de elementos Item.ver() FinHacer } 15

PROGRAMACION ORIENTADA A OBJETOS EN C++

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

Más detalles

INTRODUCCIÓN AL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA

INTRODUCCIÓN AL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA Objetivo: Identificar los concentos principales en java POO, que es una clase, un objeto así como sus características principales abstracción, modularidad, encapsulamiento, herencia, polimorfismo. INTRODUCCIÓN

Más detalles

Java Avanzado Facultad de Ingeniería. Escuela de computación.

Java Avanzado Facultad de Ingeniería. Escuela de computación. 2 Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 5 3 Introducción Este manual ha sido elaborado para orientar al estudiante de Java Avanzado en el desarrollo de sus prácticas

Más detalles

Introducción a la Orientación a Objetos

Introducción a la Orientación a Objetos Introducción a la Orientación a Objetos Breve historia de la OO 1960s. Simula incorpora características propias de la OO. 1970s. Smalltalk. Lenguaje totalmente OO. 1990s. Boom de la OO. 2000-Hoy. Época

Más detalles

La Herencia: Teoría (1)

La Herencia: Teoría (1) Introducción a la Herencia Presentación basada en: 1. Construcción de Software Orientado a Objetos. Bertrand Meyer.1998. 2. Java 2., Curso de programación. Fco. Javier Ceballos. Ed. Alfoomega&RA-MA, 2003.

Más detalles

Conceptos de Programación Orientada a Objetos

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

Más detalles

Lenguaje de Modelamiento Unificado.

Lenguaje de Modelamiento Unificado. Lenguaje de Modelamiento Unificado. Pontificia Universidad Javeriana What can you Model with UML? 1. Structure Diagrams include: The Class Diagram Object Diagram Component Diagram Composite Structure Diagram

Más detalles

Metodologías en la Ingeniería del Software Métodos Orientados a Objetos

Metodologías en la Ingeniería del Software Métodos Orientados a Objetos Metodologías en la Ingeniería del Software Métodos Orientados a Objetos García Departamento de Ciencias de la Computación Universidad de Alcalá Contenidos Historia Orientación a Objetos (OO) Problemas

Más detalles

GUIA 2: Repaso sobre uso de C#. Funciones, métodos y arreglos.

GUIA 2: Repaso sobre uso de C#. Funciones, métodos y arreglos. 1 Programación II, Guía 2 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II GUIA 2: Repaso sobre uso de C#. Funciones, métodos y arreglos. Objetivos Utilizar la sintaxis de las funciones

Más detalles

1

1 Curso: BORLAN DELPHI 5 Curso de desarrollo de aplicaciones Windows utilizando el entorno de programación Borland Delphi 5. Se estudian las particularidades del lenguaje Delphi, así como su sintaxis; sus

Más detalles

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice

Más detalles

Algoritmos y programas. Algoritmos y Estructuras de Datos I

Algoritmos y programas. Algoritmos y Estructuras de Datos I Algoritmos y programas Algoritmos y Estructuras de Datos I Primer cuatrimestre de 2012 Departamento de Computación - FCEyN - UBA Programación funcional - clase 1 Funciones Simples - Recursión - Tipos de

Más detalles

Programación Orientada a Objetos. Sesión 4: Herencia

Programación Orientada a Objetos. Sesión 4: Herencia Programación Orientada a Objetos Sesión 4: Herencia Contextualización Cuando hablamos de informática, podemos contemplar varios elementos que se utilizan dentro de ésta misma, por ejemplo, la herencia

Más detalles

2.2 Nombres, Ligado y Ámbito

2.2 Nombres, Ligado y Ámbito 2.2 Nombres, Ligado y Ámbito Ligado estático y dinámico, reglas de ámbito y prueba de tipos. Conceptos Nombres e Identificadores Variables Tipos Ámbito Constantes Nombres Identificador que designa en el

Más detalles

1. Computadores y programación

1. Computadores y programación 1. Computadores y programación Informática y computadora (RAE) Informática (Ciencia de la computación) Conjunto de conocimientos científicos y técnicos que hacen posible el tratamiento automático de la

Más detalles

16. Herencia Definición de herencia. 168 A. García-Beltrán y J.M. Arranz

16. Herencia Definición de herencia. 168 A. García-Beltrán y J.M. Arranz 168 A. García-Beltrán y J.M. Arranz 16. Herencia Objetivos: a) Definir el concepto de herencia entre clases b) Interpretar el código fuente de una aplicación Java donde aparecen clases relacionadas mediante

Más detalles

Introducción a la programación orientada a objetos

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

Más detalles

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 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

Más detalles

Índice de contenido. Índice de contenido... i Indice de prácticas...ix Prólogo...xi Cómo utilizar este libro...xv

Índice de contenido. Índice de contenido... i Indice de prácticas...ix Prólogo...xi Cómo utilizar este libro...xv Índice de contenido Índice de contenido... i Indice de prácticas...ix Prólogo...xi Cómo utilizar este libro...xv Capítulo 1: La computadora y los niveles de datos Computadora...3 Tipos de dispositivos...4

Más detalles

Capítulos 2 y 5: Modelación con UML y Modelo Objeto

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

Más detalles

b) Qué tipo de variable son las de la línea 6? Cuál es su visibilidad? Explique su

b) Qué tipo de variable son las de la línea 6? Cuál es su visibilidad? Explique su Universidad de La Laguna. Escuela Técnica Superior de Ingeniería Informática Tercero del Grado de Informática LENGUAJES Y PARADIGMAS DE PROGRAMACION. SEGUNDA PARTE 5 páginas Nombre: Alu: 1. Cuál es la

Más detalles

ESCUELA DE INFORMÁTICA

ESCUELA DE INFORMÁTICA TÉCNICO EN SISTEMAS LABORAL SUBMODULO TEMA 1 (Visual Basic for Application) Microsoft VBA (Visual Basic for Applications) es el lenguaje de macros de Microsoft Visual Basic que se utiliza para programar

Más detalles

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1 Prologo Agradecimientos Nota de los autores Índice general I III V VII 1 Problemas, algoritmos y programas 1 1.1 Programas y la actividad de la programación.................... 4 1.2 Lenguajes y modelos

Más detalles

Capítulo 7. Introducción a las Interfaces Gráficas de usuario. Continuar

Capítulo 7. Introducción a las Interfaces Gráficas de usuario. Continuar Capítulo 7 Introducción a las Interfaces Gráficas de usuario Continuar Introducción Se explicará qué es una interfaz gráfica, cómo han evolucionado y cómo es que debe desarrollarse un programa que incluya

Más detalles

LÓGICA DE PROGRAMACIÓN

LÓGICA DE PROGRAMACIÓN LÓGICA DE PROGRAMACIÓN Lógica de la Programación Lenguajes de Programación Ing CIP. Mike Joseph Palacios Juárez Clasificación del Software Sistemas Operativos 1. Multitarea 2. Multiusuario 3. Multiproceso

Más detalles

Modulo 11. Clases y Objetos en Java

Modulo 11. Clases y Objetos en Java El siguiente texto es una traducción no oficial del documento publicado por el grupo JEDI, Introduction to Programming 1, no pretende en ningún momento reemplazar los contenidos generados por este grupo.

Más detalles

Programación Orientada a Objetos (POO)

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

Más detalles

Programa de actualización profesional ACTI.NET Desarrollo de aplicaciones locales y web con tecnología VB.NET

Programa de actualización profesional ACTI.NET Desarrollo de aplicaciones locales y web con tecnología VB.NET Programa de actualización profesional ACTI.NET Desarrollo de aplicaciones locales y web con tecnología VB.NET OBJETIVOS: Conocer de las bondades del paradigma de orientación a objetos en.net y su lenguaje

Más detalles

Programación orientada a objetos TEMA 1 INTRODUCCIÓN AL PARADIGMA ORIENTADO A OBJETOS POO

Programación orientada a objetos TEMA 1 INTRODUCCIÓN AL PARADIGMA ORIENTADO A OBJETOS POO Programación orientada a objetos TEMA 1 INTRODUCCIÓN AL PARADIGMA ORIENTADO A OBJETOS Cristina Cachero Pedro J. Ponce de León (1 Sesión) Versión 0.7 POO Indice El progreso de la abstracción Definición

Más detalles

Guía del Curso Certificación It en Microsoft Excel VBA para Excel: Macros and Graphics Expert

Guía del Curso Certificación It en Microsoft Excel VBA para Excel: Macros and Graphics Expert Guía del Curso Certificación It en Microsoft Excel 2016 + VBA para Excel: Macros and Graphics Expert Modalidad de realización del curso: Número de Horas: Titulación: Online 140 Horas Diploma acreditativo

Más detalles

Introducción a Java LSUB. 30 de enero de 2013 GSYC

Introducción a Java LSUB. 30 de enero de 2013 GSYC Introducción a Java LSUB GSYC 30 de enero de 2013 (cc) 2013 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial

Más detalles

Diseño arquitectónico 1ª edición (2002)

Diseño arquitectónico 1ª edición (2002) Unidades temáticas de Ingeniería del Software Diseño arquitectónico 1ª edición (2002) Facultad de Informática objetivo Los sistemas grandes se descomponen en subsistemas que suministran un conjunto relacionado

Más detalles

Computación Avanzada Clase 3. Mauricio Hidalgo Barrientos

Computación Avanzada Clase 3. Mauricio Hidalgo Barrientos Computación Avanzada Clase 3 Introducción a la Programación Orientada a Objetos (POO) Definición de Programación Orientada a Objetos Qué es la POO? Según Wikipedia: POO es un paradigma de programación

Más detalles

1. Asignar Responsabilidades a componentes de software es la habilidad más importante del AOO. Porque:

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

Más detalles

CAPÍTULO 3. Metodología para la elaboración de. manuales de procedimientos

CAPÍTULO 3. Metodología para la elaboración de. manuales de procedimientos CAPÍTULO 3 Metodología para la elaboración de manuales de procedimientos El elaborar los manuales de procedimiento conlleva una metodología; en este capítulo se trata brevemente este tema; sus bases principales

Más detalles

TEMA I PROGRAMACIÓN ORIENTADA A OBJETOS PROGRAMACIÓN N ORIENTADA A OBJETOS OBJETOS (I) OBJETOS (II)

TEMA I PROGRAMACIÓN ORIENTADA A OBJETOS PROGRAMACIÓN N ORIENTADA A OBJETOS OBJETOS (I) OBJETOS (II) PROGRAMACIÓN N ORIENTADA A OBJETOS TEMA I PROGRAMACIÓN ORIENTADA A OBJETOS Programación OO Se basa en la creación de objetos, con sus propiedades y métodos Ventajas Código optimizado Buena reutilización

Más detalles

Patrones de Diseño. Patrón estructural Composite. Técnicas de Programación - Curso 2007/08

Patrones de Diseño. Patrón estructural Composite. Técnicas de Programación - Curso 2007/08 Patrones de Diseño Patrón estructural Composite Técnicas de Programación - Curso 2007/08 Propósito Componer objetos en estructuras arbóreas para representar jerarquías todo-parte. Manipular todos los objetos

Más detalles

Interfaces y Clases Internas. ELO329: Diseño y Programación Orientados a Objetos

Interfaces y Clases Internas. ELO329: Diseño y Programación Orientados a Objetos Interfaces y Clases Internas ELO329: Diseño y Programación Orientados a Objetos Qué queremos decir con interfaces y clases internas? NOTA: El término interfaz aquí NO se refiere a las interfaces gráficas

Más detalles

Guía del Curso Experto en Microsoft Excel 2016, VBA y Business Intelligence

Guía del Curso Experto en Microsoft Excel 2016, VBA y Business Intelligence Guía del Curso Experto en Microsoft Excel 2016, VBA y Business Intelligence Modalidad de realización del curso: Número de Horas: Titulación: A distancia y Online 180 Horas Diploma acreditativo con las

Más detalles

PROGRAMACIÓN UNIDADES

PROGRAMACIÓN UNIDADES PROGRAMACIÓN Semestre: Segundo Horas: 90 horas Hrs/sem: 4.5 Créditos: 9 Clave: AI-02 DESCRIPCIÓN DE LA ASIGNATURA Al finalizar el curso el alumno tendrá el conocimiento y la capacidad de implementar programas

Más detalles

Conceptos más avanzados de Programación Orientada a Objetos

Conceptos más avanzados de Programación Orientada a Objetos Conceptos más avanzados de Programación Orientada a Objetos Programación 2008 Licenciatura de Lingüística y Nuevas Tecnologías Repaso: API de Java API = Application Programming Interface Una API describe

Más detalles

Aspectos de los LP. Diseño de compiladores. Estático vs. Dinámico. Estático vs. Dinámico. Scope. Scope 24/03/2015

Aspectos de los LP. Diseño de compiladores. Estático vs. Dinámico. Estático vs. Dinámico. Scope. Scope 24/03/2015 Aspectos de los LP Diseño de compiladores Lenguajes de Programación Antes de comenzar con la construcción de un compilador, debemos comprender los conceptos basicos del lenguaje de programación con el

Más detalles

PRÁCTICA DE LABORATORIO 4 Programación Orientada a Objetos

PRÁCTICA DE LABORATORIO 4 Programación Orientada a Objetos ESCUELA DE INGENIERÍA DE SISTEMAS DEPARTAMENTO DE COMPUTACIÓN PROGRAMACIÓN 2 PRÁCTICA DE LABORATORIO 4 Programación Orientada a Objetos Contenido Introducción...1 Objeto...2 Atributo...2 Métodos...2 Clase...3

Más detalles

Test : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.

Test : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A. SISTEMAS INFORMÁTICOS I Junio 2003 INGENIERÍA EN INFORMÁTICA - Código Carrera 55 - Código Asignatura 077 Tipo de Examen: A NO SE PERMITE EL USO DE NINGÚN MATERIAL Tiempo: 2 horas Apellidos: Nombre: DNI:

Más detalles

Programación orientada a objetos. Resumen de Temas Unidad 6: Polimorfismo y reutilización

Programación orientada a objetos. Resumen de Temas Unidad 6: Polimorfismo y reutilización Programación orientada a objetos Resumen de Temas Unidad 6: Polimorfismo y reutilización 6.1 Concepto de Polimorfismo Polimorfismo quiere decir "un objeto y muchas formas". Esta propiedad permite que un

Más detalles

LABORATORIO ARQUITECTURAS SOFTWARE DE VARIOS NIVELES EN JAVA (I)

LABORATORIO ARQUITECTURAS SOFTWARE DE VARIOS NIVELES EN JAVA (I) LABORATORIO ARQUITECTURAS SOFTWARE DE VARIOS NIVELES EN JAVA (I) SEPARACIÓN DEL NIVEL DE PRESENTACIÓN Y LÓGICA DE NEGOCIO MEDIANTE EL USO DE INTERFACES JAVA 1. OBJETIVO Los objetivos de este laboratorio

Más detalles

GUÍA DE ESTUDIO TEMA 2. MODELO OSI. ESTÁNDARES Y PROTOCOLOS. MODELO TCP/IP.

GUÍA DE ESTUDIO TEMA 2. MODELO OSI. ESTÁNDARES Y PROTOCOLOS. MODELO TCP/IP. GUÍA DE ESTUDIO TEMA 2. MODELO OSI. ESTÁNDARES Y PROTOCOLOS. MODELO TCP/IP. OBJETIVOS Introducir conceptos de las comunicaciones: protocolo, jerarquías de protocolos y estándares utilizados. Conocer los

Más detalles

Diagramas de interacción

Diagramas de interacción Tema 6: Diagramas de Interacción Diagramas de interacción Los diagramas de interacción son diagramas que describen cómo grupos de objetos colaboran para conseguir algún fin. Estos diagramas muestran objetos,

Más detalles

PROGRAMA DE CURSO. Metodologías de Diseño y Programación. Nombre en Inglés. Design and Programming Methodologies.

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

Más detalles

Caso de uso y procedimiento para generación de cadena para factura electrónica. Febrero de 2012

Caso de uso y procedimiento para generación de cadena para factura electrónica. Febrero de 2012 Caso de uso y procedimiento para generación de cadena para factura electrónica Febrero de 2012 Tabla de Contenido Introducción 3 Definiciones 4 Simbología 5 Objetivo, alcance y políticas 6 Documentos que

Más detalles

CLAVE ASIGNATURA REQUISITOS HORA/SEMANA CREDITOS TI-8 PROGRAMACION II 80% DE ASISTENCIA 4 6

CLAVE ASIGNATURA REQUISITOS HORA/SEMANA CREDITOS TI-8 PROGRAMACION II 80% DE ASISTENCIA 4 6 PRESENTACIÓN: La programación orientada a objetos es una evolución de la programación procedural basada en funciones. La POO permite agrupar secciones de código con funcionalidades comunes, pretende agrupar

Más detalles

Tema 4: Corrección y Robustez en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle

Tema 4: Corrección y Robustez en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Tema 4: Corrección y Robustez en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Contenido Asertos en C++ Mecanismo de excepciones: Declaración de excepciones Lanzar excepciones

Más detalles

1. Sobrecarga de operadores. 2. Métodos operadores unarios Operador de incremento (prefijo)

1. Sobrecarga de operadores. 2. Métodos operadores unarios Operador de incremento (prefijo) . Sobrecarga de operadores. unarios Operador de incremento (prefijo). Devolución de objetos en los métodos. Retorno por referencia Sobrecarga de operadores Los operadores aceptan uno o varios operandos

Más detalles

PARA QUÉ SIRVEN LAS INTERFACES JAVA. IMPLEMENTAR UNA INTERFAZ DEL API. VENTAJAS. EJEMPLOS BÁSICOS. (CU00697B)

PARA QUÉ SIRVEN LAS INTERFACES JAVA. IMPLEMENTAR UNA INTERFAZ DEL API. VENTAJAS. EJEMPLOS BÁSICOS. (CU00697B) APRENDERAPROGRAMAR.COM PARA QUÉ SIRVEN LAS INTERFACES JAVA. IMPLEMENTAR UNA INTERFAZ DEL API. VENTAJAS. EJEMPLOS BÁSICOS. (CU00697B) Sección: Cursos Categoría: Curso Aprender programación Java desde cero

Más detalles

LABORATORIO ARQUITECTURAS SOFTWARE DE VARIOS NIVELES EN JAVA (I)

LABORATORIO ARQUITECTURAS SOFTWARE DE VARIOS NIVELES EN JAVA (I) LABORATORIO ARQUITECTURAS SOFTWARE DE VARIOS NIVELES EN JAVA (I) SEPARACIÓN DEL NIVEL DE PRESENTACIÓN Y LÓGICA DE NEGOCIO MEDIANTE EL USO DE INTERFACES JAVA 1. OBJETIVO Los objetivos de este laboratorio

Más detalles

Curso de Doctorado: Tecnologías de Objetos

Curso de Doctorado: Tecnologías de Objetos Curso de Doctorado: Tecnologías de Objetos Grupo IMO Área de Lenguajes y Sistemas Informáticos Departamento de Informática J. Baltasar García Perez-Schofield http://webs.uvigo.es/jbgarcia/ Implementación

Más detalles

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS PROGRAMA DEL CURSO INTRODUCCION A LA PROGRAMACION Y COMPUTADORAS 1 CODIGO: 770 CREDITOS: 4 ESCUELA: Ciencias

Más detalles

Tema 3: Programación orientada a objetos (I)

Tema 3: Programación orientada a objetos (I) Tema 3: Programación orientada a objetos (I) Ventajas del enfoque orientado a objetos Clases y Objetos Métodos y Mensajes Algoritmos y Sentencias Construcción de software orientado a objetos Búsqueda de

Más detalles

Programación Orientada a Objetos

Programación Orientada a Objetos Programación Orientada a Objetos E.T.S.I. Telecomunicación Universidad de Málaga http://www.lcc.uma.es/ Contenido Introducción histórica Conceptos básicos de la Programación O. O. Conceptos avanzados de

Más detalles

El patrón Composite (Compuesto) Propósito Componer los objetos a una estructura de jerarquía de relación partetodo.

El patrón Composite (Compuesto) Propósito Componer los objetos a una estructura de jerarquía de relación partetodo. Definición más precisa de los patrones Un patrón del diseño nomina, abstrae y identifica los aspectos claves de un diseño común para crear un diseño orientado a objetos reutilizable. Son descripciones

Más detalles

Principios Básicos de Orientación a Objetos. Orientación a Objetos

Principios Básicos de Orientación a Objetos. Orientación a Objetos Principios Básicos de Orientación a Objetos Orientación a Objetos Abstracción Encapsulación Modularidad Jerarquia Qué es Abstracción? Es la capacidad de conceptualizar entidades genéricas de información

Más detalles

Diseño. Diseño. Interacción. Aspectos comunes en interacción. Diagramas de Interacción. Curso de Arquitecturas de Software

Diseño. Diseño. Interacción. Aspectos comunes en interacción. Diagramas de Interacción. Curso de Arquitecturas de Software Curso de Arquitecturas de Software Programación Orientada a Objetos Diagramas de Interacción Diseño En la fase de diseño se hace refinamiento estructural, se modifica y completa el diagrama de clases del

Más detalles

INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO IBEROTEC SEMESTRE ACADÉMICO: 2014-II SÍLABO

INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO IBEROTEC SEMESTRE ACADÉMICO: 2014-II SÍLABO INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO IBEROTEC SEMESTRE ACADÉMICO: 01-II 1. DATOS GENERALES SÍLABO UNIDAD DIDÁCTICA : LENGUAJES Y HERRAMIENTAS DE DESARROLLO DE SOFTWARE MÓDULO : DESARROLLO DE SOFTWARE

Más detalles

Diagramas de secuencia

Diagramas de secuencia Facultad de Ingeniería Departamento de Ingeniería de Sistemas y Computación Diagramas de secuencia Interacciones básicas 1 Para qué sirven los diagramas de secuencia? 2 Para qué sirven los diagramas de

Más detalles

Capítulo 10. Subtipos y Herencia.

Capítulo 10. Subtipos y Herencia. Capítulo 10. Subtipos y Herencia. Lenguajes de Programación Carlos Ureña Almagro Dpt. Lenguajes y Sistemas Informáticos ETSI Informática y de Telecomunicación Universidad de Granada Curso 2009-10 Autor:

Más detalles

Arrays unidimensionales. Dim.Option Base. Erase. Ejemplos en Visual Basic (CU00311A)

Arrays unidimensionales. Dim.Option Base. Erase. Ejemplos en Visual Basic (CU00311A) aprenderaprogramar.com Arrays unidimensionales. Dim.Option Base. Erase. Ejemplos en Visual Basic (CU00311A) Sección: Cursos Categoría: Curso Visual Basic Nivel I Fecha revisión: 2029 Autor: Mario R. Rancel

Más detalles

Programación Orientada a Objetos Desarrollo de software orientado a objetos

Programación Orientada a Objetos Desarrollo de software orientado a objetos Desarrollo de software orientado a objetos Definición Método de desarrollo de software que basa la arquitectura del sistema en módulos deducidos de los tipos de objetos que se manipulan, en lugar de basarse

Más detalles

Descripción y Contenido del Curso. Programación C++ Capacity Academy.

Descripción y Contenido del Curso. Programación C++ Capacity Academy. Descripción y Contenido del Curso Programación C++ Capacity Academy Educación en Tecnología de la Información Online, Efectiva y Garantizada Qué aprenderá si toma este Curso? En este curso aprenderás todo

Más detalles

Java Avanzado. Guía 1. Java Avanzado Facultad de Ingeniería. Escuela de computación.

Java Avanzado. Guía 1. Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 1 Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 2 Introducción Este manual ha sido elaborado para orientar al estudiante de Java Avanzado en el desarrollo

Más detalles

Notas técnicas de JAVA Nro. 5 Tip en detalle

Notas técnicas de JAVA Nro. 5 Tip en detalle Tema: Notas técnicas de JAVA Nro. 5 Tip en detalle (Lo nuevo, lo escondido, o simplemente lo de siempre pero bien explicado) Organización de memoria en JAVA Vs. Modelo Tradicional Descripción: Nivel: Java,

Más detalles

TÉCNICO SUPERIOR UNIVERSITARIO EN MECATRÓNICA ÁREA AUTOMATIZACIÓN EN COMPETENCIAS PROFESIONALES ASIGNATURA DE LENGUAJE DE PROGRAMACIÓN

TÉCNICO SUPERIOR UNIVERSITARIO EN MECATRÓNICA ÁREA AUTOMATIZACIÓN EN COMPETENCIAS PROFESIONALES ASIGNATURA DE LENGUAJE DE PROGRAMACIÓN TÉCNICO SUPERIOR UNIVERSITARIO EN MECATRÓNICA ÁREA AUTOMATIZACIÓN EN COMPETENCIAS PROFESIONALES ASIGNATURA DE LENGUAJE DE PROGRAMACIÓN 1. Competencias Implementar sistemas de medición y control bajo los

Más detalles

Tema 7. El sistema de clases

Tema 7. El sistema de clases Programación Declarativa Haskell Informática Sistemas Curso 2003-2004 Pepe Gallardo Universidad de Málaga Tema 7. El sistema de clases 7.1 Funciones Sobrecargadas Clases e Instancias 7.2 Algunas Clases

Más detalles

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 2 - Introducción al lenguaje Java, identificadores y comentarios. Carlos Montenegro Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 1. Introducción: Java tiene como todos

Más detalles

Clases e instancias. Algoritmos y Estructuras de Datos I. Clases e instancias. memoria dinámica.

Clases e instancias. Algoritmos y Estructuras de Datos I. Clases e instancias. memoria dinámica. Algoritmos Estructuras de Datos I Primer cuatrimestre de 2014 Departamento de Computación - FCEN - UBA Programación imperativa - clase 10 Memoria dinámica listas enlazadas Clases e instancias El paquete

Más detalles

Prof. Mariano Mancuso. Sistemas de información y control diagrama de clases

Prof. Mariano Mancuso. Sistemas de información y control diagrama de clases Prof. Mariano Mancuso Sistemas de información y control diagrama de clases UML Qué son los modelos? Para qué sirven los modelos? Cuáles son los modelos de UML? Se usan todos...? Qué son los modelos? Un

Más detalles

Tema 6. Gestión dinámica de memoria

Tema 6. Gestión dinámica de memoria Tema 6. Gestión dinámica de memoria http://aulavirtual.uji.es José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz {badia, bmartine, morales, sanchiz@icc.uji.es Estructuras de datos y de la

Más detalles

GUIA PROGRAMACIÓN ORIENTADA A OBJETOS

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

Más detalles

Desarrollo de aplicaciones con JAVA, JCreator, JDeveloper NetBeans

Desarrollo de aplicaciones con JAVA, JCreator, JDeveloper NetBeans Pág. N. 1 Desarrollo de aplicaciones con JAVA, JCreator, JDeveloper NetBeans Familia: Editorial: Autor: Tecnología de la Información y Computación Macro Manuel Torres Remon ISBN: 978-612-304-101-4 N. de

Más detalles

Forma Básica Clase Java

Forma Básica Clase Java Programación Orientada a Objetos Conceptos Básicos de Objetos en Java Ing. Julio Ernesto Carreño Vargas MsC. Forma básica de una clase en Java Especifica que la clase forma parte del paquete conceptos

Más detalles

Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle

Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Contenido Tipos de herencia Herencia y niveles de visibilidad Herencia y creación Redefinición de métodos Conversión

Más detalles

La sintaxis básica para definir una clase es la que a continuación se muestra:

La sintaxis básica para definir una clase es la que a continuación se muestra: DEFINICIÓN DE CLASES Y OBJETOS EN C# Sintaxis de definición de clases La sintaxis básica para definir una clase es la que a continuación se muestra: class nombreclase miembros De este modo se definiría

Más detalles

Sistemas distribuidos

Sistemas distribuidos Sistemas distribuidos El primer elemento clave en un sistema distribuido es la red. Definición Cualquier conjunto de dos o más equipos informáticos interconectados entre sí con el objetivo de compartir

Más detalles

Capítulo 16. Diagrama de Clases UML

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

Más detalles

2.- PROGRAMACIÓN ORIENTADA A OBJETOS

2.- PROGRAMACIÓN ORIENTADA A OBJETOS 2.- PROGRAMACIÓN ORIENTADA A OBJETOS Lenguajes de Programación - Orientación a Objetos 1 El éxito de la Progr. Orientada a Objetos Permite una mejor organización del software: Es más fácil (??) desarrollar

Más detalles

Programación de Interfaces Gráficas en Java. Agustín J. González ELO329

Programación de Interfaces Gráficas en Java. Agustín J. González ELO329 Programación de Interfaces Gráficas en Java Agustín J. González ELO329 AWT y Swing En sus orígenes Java introdujo la AWT (Abstract Window Toolkit). Ésta creaba los objetos delegando su creación y comportamiento

Más detalles

Matemáticas UNIDAD 5 CONSIDERACIONES METODOLÓGICAS. Material de apoyo para el docente. Preparado por: Héctor Muñoz

Matemáticas UNIDAD 5 CONSIDERACIONES METODOLÓGICAS. Material de apoyo para el docente. Preparado por: Héctor Muñoz CONSIDERACIONES METODOLÓGICAS Material de apoyo para el docente UNIDAD 5 Preparado por: Héctor Muñoz Diseño Gráfico por: www.genesisgrafica.cl LA RELACIÓN DE PROPORCIONALIDAD 1. DESCRIPCIÓN GENERAL DE

Más detalles

MANTENIMIENTO Y OPERACIÓN DE MÁQUINAS Y EQUIPOS ELÉCTRICOS

MANTENIMIENTO Y OPERACIÓN DE MÁQUINAS Y EQUIPOS ELÉCTRICOS Módulo: Mantenimiento y Operación Educación de Máquinas y Media Equipos Eléctricos Técnico-Profesional Sector Electricidad 1 Especialidad: Electricidad Módulo MANTENIMIENTO Y OPERACIÓN DE MÁQUINAS Y EQUIPOS

Más detalles

Las redes semánticas intentan trasladar esa afirmación a un formalismo Una red semántica será un grafo donde:

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

Más detalles

Tema: Introducción al IDE de Microsoft Visual C#.

Tema: Introducción al IDE de Microsoft Visual C#. Tema: Introducción al IDE de Microsoft Visual C#. Objetivos: El propósito de este tema es que el alumno se familiarice con el entorno de desarrollo de Visual C# Express mientras crea el formulario más

Más detalles

Guía práctica de estudio 05: Diagramas de flujo

Guía práctica de estudio 05: Diagramas de flujo Guía práctica de estudio 05: Diagramas de flujo Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Revisado por: Ing. Laura Sandoval Montaño Guía práctica de estudio 05: Diagramas de

Más detalles

4.1 - OBJETOS Y CLASES

4.1 - OBJETOS Y CLASES 4.- Elementos relacionados con la Orientación a Objeto 4.1 - OBJETOS Y CLASES Intoducción Alan Kay (Smalltalk) Todo es un objeto. Un programa es un grupo de objetos diciendose unos a otros qué deben hacer

Más detalles

Anexo. Control de errores

Anexo. Control de errores Anexo. Control de errores Tipos de errores Los errores en un programa o algoritmo se pueden clasificar de la siguiente manera Errores de compilación Los errores de compilación no permiten la ejecución

Más detalles

Una Clase: define un grupo de objetos que tienen propiedades similares y se comportan de manera similar.

Una Clase: define un grupo de objetos que tienen propiedades similares y se comportan de manera similar. Clases La programación orientada a objetos utiliza clases para encapsular (envolver, esconder) datos (atributos) y métodos (comportamientos). Por ejemplo, el estéreo de un auto encapsula todos los atributos

Más detalles

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs. Variables Una variable no es más que un nombre simbólico que identifica una dirección de memoria: Suma el contenido de la posición 3001 y la 3002 y lo almacenas en la posición 3003 vs. total = cantidad1

Más detalles

Capacitación adquirida por el alumno al finalizar este modulo

Capacitación adquirida por el alumno al finalizar este modulo Curso de UML y UP Analiza, modela y diseña sistemas orientado a objetos con UML. Aprende cuándo y cómo utilizar todos los diagramas que forman parte de UML en forma práctica utilizando el Enterprise Architect

Más detalles

Los diagramas de clases y de objetos sirven para modelar diversos aspectos estructurales o estáticos de un sistema: Modelado - Vocabulario del Sistema

Los diagramas de clases y de objetos sirven para modelar diversos aspectos estructurales o estáticos de un sistema: Modelado - Vocabulario del Sistema Modelado Los diagramas de clases y de objetos sirven para modelar diversos aspectos estructurales o estáticos de un sistema: Vocabulario del Sistema Distribución de Responsabilidades Semántica de una Clase

Más detalles

Agenda..NET C# Laboratorio #1

Agenda..NET C# Laboratorio #1 PROGRAMACIÓN III Agenda.NET C# Laboratorio #1 .NET Qué es.net? Una arquitectura tecnológica para la creación y distribución de software como servicio. Servicio en cualquier plataforma, cliente en cualquier

Más detalles

Tema 2 Conceptos básicos de programación. Fundamentos de Informática

Tema 2 Conceptos básicos de programación. Fundamentos de Informática Tema 2 Conceptos básicos de programación Fundamentos de Informática Índice Metodología de la programación Programación estructurada 2 Pasos a seguir para el desarrollo de un programa (fases): Análisis

Más detalles

Programación Orientada a Objetos en Java

Programación Orientada a Objetos en Java Programación Orientada a Objetos en Java Curso 2006-2007 Tema 4 Herencia y Polimorfismo Gonzalo Méndez Pozo Dpto. de Ingeniería de Software e Inteligencia Artificial Universidad Complutense de Madrid Herencia

Más detalles

Tema 2 Introducción a la Programación en C.

Tema 2 Introducción a la Programación en C. Tema 2 Introducción a la Programación en C. Contenidos 1. Conceptos Básicos 1.1 Definiciones. 1.2 El Proceso de Desarrollo de Software. 2. Lenguajes de Programación. 2.1 Definición y Tipos de Lenguajes

Más detalles