Contenidos. Técnicas de POO. Abstracción. Abstracción. Programación Orientada a Objetos Facultad de Informática
|
|
- Francisco José Núñez Barbero
- hace 6 años
- Vistas:
Transcripción
1 Contenidos Técnicas de POO Programación Orientada a Objetos Facultad de Informática! Abstracción! Definición de clases e interfaces! Mensajes y métodos! Herencia de clases! Composición de objetos Dep. Sistemas Informáticos y Programación Universidad Complutense Madrid Facultad de Informática UCM, Abstracción! Definición! Suprimir o esconder algunos detalles de un proceso o artefacto con el propósito de resaltar más claramente otros aspectos, detalles o estructura! Ocultar información, o encapsulado, en programación, consiste en omitir detalles de implementación! Permite gestionar la complejidad! Ejemplo de niveles de abstracción: mapas! Un mapa del mundo muestra continentes, grandes cordilleras y ríos! Un mapa de un continente muestra todos los países y las ciudades principales! Un mapa de un país muestra las principales ciudades y carreteras! Un mapa de una ciudad muestra las calles! Cada nivel tiene información apropiada al nivel de abstracción Abstracción! Formas de abstracción en OO! Interfaz vs. Implementación Definición de la signatura de las operaciones (interfaz) Implementación de las operaciones (clase) Puede haber varias implementaciones de una misma interfaz! División en partes: tiene-un (agregación) Permite bajar a otro nivel de complejidad La composición es un tipo especial de agregación! División en especialización: es-un (herencia) Permite categorizar información! Paquetes (package en Java, namespace en C++): controla la visibilidad de una colección de objetos respecto al resto public, private, protected Facultad de Informática UCM, Facultad de Informática UCM,
2 Definición de clases Definición de clases! Las clases proporcionan:! Encapsulado, ocultamiento de información, reduciendo la cantidad de detalles que deben recordar/comunicar los programadores! Una visión de servicio: la posibilidad de caracterizar un objeto por el servicio que proporciona, sin saber cómo realiza su tarea! Instanciación: la posiblidad de crear múltiples instancias de una abstracción! C++ class CartaBaraja { public: enum Palos {Oros, Copas, Espadas, Bastos Palos palo () { return valorpalo; } int numero () { return valornumero; }! Dos visiones del software:! Externa: lo que hace un objeto Visión de servicio: interfaz! Interna: cómo lo hace Visión de implementación private: Palos valorpalo; int valornumero; Facultad de Informática UCM, Facultad de Informática UCM, Definición de clases! C# enum Palos {Oros, Copas, Espadas, Bastos // En C# un enum no puede definirse dentro de una clase class CartaBaraja { public Palos palo () { return valorpalo; } public int numero () { return valornumero; } private Palos valorpalo; private int valornumero; Definición de clases! Java class CartaBaraja { public Palos palo () { return valorpalo; } public int numero () { return valornumero; } private Palos valorpalo; private int valornumero; public static final int Oros = 1; public static final int Copas = 2; public static final int Espadas = 3; public static final int Bastos = 4; En Java, hasta la versión 1.4 no se pueden definir enum Facultad de Informática UCM, Facultad de Informática UCM,
3 Clases anidadas Interfaces en Java! En C++, C# y Java se pueden definir clases anidadas dentro de otras class ListaEnlazada { //... private class Enlace { // clase anidada public int valor; public Enlace siguiente; } }! Tienen acceso a los miembros de la clase que las contiene! Se pueden esconder de otras clases Facultad de Informática UCM, ! Una interfaz (interface en Java) sólo puede definir la signatura de métodos y constantes! Varias clases pueden implementar la misma interfaz! Se puede definir una variable del tipo de interfaz que referencie a objetos de cualquiera de esas clases interface Automovil {{ public publicvoid voidarrancar(); public publicvoid voidacelerar(double a); a); // //... class... classcoche implements Automovil {{ public publicvoid voidarrancar() {{ /* /* implementación */ */ }} public publicvoid voidacelerar(double a) a) {{ /* /* implementación */ */ }} // //... Facultad de Informática UCM, Mensajes! Un mensaje no es una función! Un mensaje se envía siempre a un objeto, el receptor! La acción que se realiza la determina el receptor, diferentes receptores pueden tomar distintas acciones! Todos los mensajes tienen tres partes:! El receptor del mensaje! El selector del mensaje! Una lista opcional de argumentos juego.muestracarta (unacarta, 12, 8);! El método asociado al mensaje se puede determinar! En tiempo de compilación: vinculación estática Se asocia al tipo de la variable! En tiempo de ejecución: vinculación dinámica Se asocia al valor Definición de métodos! Todos los métodos se definen por:! Un nombre! Una signatura: tipo de argumentos y valor de retorno Métodos con el mismo nombre se pueden distinguir por tener signaturas distintas! Un cuerpo: código que se ejecutará cuando se invoque el método! Métodos! Constructores! Métodos de Acceso (get) y Modificación (set) Para ver/modificar el valor de los atributos Permiten definir un atributo como readonly si sólo hay el método getx() Permiten cambiar la representación interna del atributo, o añadir funcionalidad (por ejemplo, contar el número de accesos)! Operaciones! Finalizadores (destructor en C++) Facultad de Informática UCM, Facultad de Informática UCM,
4 Definición de métodos! Consejo: Orden de definición de los métodos! Primero los más importantes! Los constructores son importantes, ponerlos al principio! Poner antes los métodos públicos que los privados! Agrupar cuando haya muchos métodos! Listarlos en orden alfabético! Recuerda que el código no lo lee únicamente el programador que lo escribe y piensa en los lectores de tu código Definición de métodos! Separación de declaración e implementación! Por ejemplo, en C++ Legibilidad: Poner en la definición de clase solo aquellos métodos muy cortos Semántica: Algunos compiladores expanden en-línea el código de los métodos definidos en la clase cartas.h cartas.h class classcartabaraja {{ public: public: // //... Palos Palos palo palo () ();; // //... cartas.cpp cartas.cpp CartaBaraja:: Palos Palos CartaBaraja::palo () (){{ return returnvalorpalo Facultad de Informática UCM, Facultad de Informática UCM, Curiosidades! Oberon (N. Wirth) es un lenguaje donde no se definen clases, sino registros, así que los métodos (mensajes) se definen sobre punteros Ejemplo! Las 8 reinas! Colocar 8 reinas en un tablero de ajedrez sin que se puedan comer unas a otras TYPE CartaBaraja = POINTER TO DescripcionCartaBaraja; DescripcionCartaBaraja = RECORD palo : INTEGER; numero : INTEGER; visible: BOOLEAN; END PROCEDURE (carta: CartaBaraja) setvisible (b : BOOLEAN); BEGIN carta.visible = b; END Facultad de Informática UCM, Facultad de Informática UCM,
5 Herencia de clases Herencia de clases! Jerarquía de clases! Los atributos y métodos del padre son parte del hijo Obsérvese que los aspectos private del padre son parte del hijo (por ejemplo, se les asigna memoria en el hijo también) pero el hijo no puede acceder a ellos (sólo a los declarados como public o protected)! La herencia es extensión y contracción! El comportamiento del hijo puede extender al del padre! El hijo puede redefinir comportamiento heredado! Motivación de la herencia! Reutilización de código: el hijo hereda el código del padre! Reutilización de concepto: el hijo puede redefinir todos los métodos heredados, pero comparte su definición! En C++ class Circulo: public Forma, public Redondez! C++ soporta herencia múltiple! En C# class Circulo: Forma! En Java class Circulo extends Forma! C# y Java sólo permiten herencia de una clase pero se pueden implementar múltiples interfaces! También definen una sola raíz de la jerarquía de clases: la clase Object (C++ no) La clase Object proporciona métodos básicos para todos los objetos: equals(), tostring(), finalize(), clone(), hashcode() [C# los ha copiado de Java] Facultad de Informática UCM, Facultad de Informática UCM, Herencia de clases Formas de la Herencia [T. Budd, cap. 8 de la 3ª edición]! Para referirse a un método de la clase padre! En C++ y Java: super! En C#: base! Al crear un objeto se llama a los constructores de las clases a las que pertenece, del primero al más particular:! En el ejemplo: Automovil(), Coche(), Taxi()! Para el destructor en sentido inverso: Automovil! Taxi(), Coche(), Automovil() Particular Coche Facultad de Informática UCM, Taxi Patrulla Camion! Especialización: los hijos sobreescriben un método del padre para especializar la clase de alguna manera! Ejemplo: los componentes del Java AWT! Especificación: si la clase padre es abstracta está dando una especificación de cómo tienen que ser las hijas! Ejemplo: eventos en Java: ActionListener, MouseListener! Construcción: Se utiliza una clase para construir otra, que no respeta la relación es un! Derivar una clase Conjunto de una clase Lista! No respeta el principio de sustituibilidad! Generalización o extensión: la clase hija no sobreescribe ningún método de la clase padre, sólo añade otros nuevos! Ejemplo: En java.util Properties extends Hashtable! Limitación: la clase hija restringe el uso de algún método de la clase padre (sobreescribiéndolo, por ejemplo, para que genere un mensaje de error)! Con el ejemplo de la Lista, para crear una Pila se suprime el método de insertar donde no sea el extremo de la pila! Varianza: Cuando varias clases están relacionadas, crear una que tenga los aspectos comunes de ambas! Combinación: Una clase hija hereda de varias (herencia mútliple) Facultad de Informática UCM,
6 Composición de objetos! Agregar o componer varios objetos para obtener una mayor funcionalidad! Un objeto se puede construir a partir de otros objetos! Herencia: permite definir una clase a partir de otra! Reutilización de caja blanca: los aspectos internos de la superclase son visibles a las subclases! Soportada por el lenguaje de programación! Estática: se define en tiempo de compilación! Composición: nueva funcionalidad mediante composición de objetos! Reutilización de caja negra: no hay visibilidad de los aspectos internos de los objetos (objetos como cajas negras)! Requiere interfaces bien definidas! Dinámica: se define en tiempo de ejecución Facultad de Informática UCM, Facultad de Informática UCM, ! La herencia no permite cambios en tiempo de ejecución! La herencia rompe la encapsulación! La herencia impone al menos una parte de la representación física a las subclases! Cambios en la superclase pueden afectar a las subclases! Las implementaciones de superclase y subclases están ligadas! Si hacen falta cambios para reutilizar una clase en nuevos dominios de aplicación habrá que cambiarla! Limita la flexibilidad y al final la reutilización! Por ello es más práctico utilizar interfaces y clases abstractas! Ya que proporcionan menos o ninguna implementación! La composición es dinámica, en tiempo de ejecución! Los objetos adquieren referencias de otros objetos! Los objetos tienen que respetar las interfaces de los otros objetos Exige un diseño cuidadoso de las interfaces! Hay menos dependencias de implementación! Habrá más objetos en el sistema y por tanto el comportamiento del sistema dependerá de las interacciones entre objetos en vez de estar definido en una clase Facultad de Informática UCM, Facultad de Informática UCM,
7 ! Por tanto, es preferible la composición de objetos a la herencia de clases! Sin embargo,! El conjunto de componentes (objetos) no suele ser lo suficientemente rico en la práctica! Mediante herencia se pueden crear nuevos componentes que componer con los existentes! La herencia y la composición trabajan juntas! Delegación de objetos como alternativa a la herencia! En la delegación un objeto que recibe una petición delega la ejecución del método a otro objeto (el delegado) En el fondo esto es lo que hace una subclase respecto a la superclase (al objeto this)! Ejemplo: la clase Ventana, en vez de heredar de Rectangulo (aunque las ventanas son rectangulares) tiene una referencia a un objeto asociado de esa clase y delega algunas operaciones en ella Si hiciera falta cambiar la forma de la ventana en tiempo de ejecución, por ejemplo a Circulo, bastaría con cambiar la referencia del objeto correspondiente Facultad de Informática UCM, Facultad de Informática UCM, Bibliografía! Ejemplo de delegación de objetos como alternativa a la herencia! Básico: Rectangulo ancho alto VentanaGUI rectangulo Rectangulo ancho alto! T. Budd, An introduction to Object-Oriented Programming (Third Edition). Pearson Education, 2001! Otros:! E. Gamma, R. Helm, R. Johnson, J. Vlissides, Design Paterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1994! B. Stroustrup, The C++ Programming Language (Third Edition). Addison-Wesley, 1997 VentanaGUI return rectangulo. return ancho * alto! Agustín Froufe. Java 2. Manual de usuario y tutorial. Ed. Ra-Ma! J. Sánchez, G. Huecas, B. Fernández y P. Moreno, Iniciación y referencia: Java 2. Osborne McGraw-Hill, 2001.! B. Meyer, Object-Oriented Software Construction (Second Edition). Prentice Hall, 1997 Facultad de Informática UCM, Facultad de Informática UCM,
Conceptos fundamentales de la POO. Fundamentos de la Programación Orientada a Objetos Objetos y Clases
Fundamentos de la Programación Orientada a Objetos Objetos y Clases Programación Orientada a Objetos Facultad de Informática Dep. Ingeniería del Software e Inteligencia Artificial Universidad Complutense
Más detallesProgramació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
Más detallesCurso de Java POO: Programación orientada a objetos
Curso de Java POO: Programación orientada a objetos Luis Guerra l.guerra@upm.es Curso INEM. Programación en Java Marzo 2011 Índice Previo Repaso y encapsulación Empaquetado Relaciones entre clases Herencia
Más detallesDiseño Basado en Componentes. Curso 2008 / 09
Beneficios de OOP Diseño Basado en Componentes Ingeniería Informática Universidad Carlos III de Madrid Programación Orientada a Objetos (OOP) en VB.NET Diseño Basado en Componentes. Curso Conceptos orientados
Más detallesDerechos 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:
Más detallesAplicaciones 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
Más detallesPROGRAMACION 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 detallesUNIVERSIDAD 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
Más detallesPROGRAMA DE CURSO. Horas de Trabajo Personal Horas de Cátedra
PROGRAMA DE CURSO Código Nombre CC3002 Metodologías de Diseño y Programación Nombre en Inglés Design and programming methodologies SCT Unidades Docentes Horas de Cátedra Horas Docencia Auxiliar Horas de
Más detallesLa 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 detallesHERENCIA Y TIPOS. Articulo. Video Audio Altavoces. Amplificador
HERENCIA Y TIPOS. Las clases con propiedades y funciones comunes se agrupan en una superclase. Las clases que se derivan de una superclase son las subclases. Las clases se organizan como jerarquía de clases.
Más detallesPROGRAMA 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 detallesFederico Peinado
Federico Peinado www.federicopeinado.es Depto. de Ingeniería del Software e Inteligencia Artificial disia.fdi.ucm.es Facultad de Informática www.fdi.ucm.es Universidad Complutense de Madrid www.ucm.es
Más detallesIntroducció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 detallesPATRONES 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
Más detallesOOP y C++ Indice. 0.1 Análisis orientado a objetos(1/4) Análisis orientado a objetos(2/4) 0.- OOP 1.- INTRODUCCIÓN.
OOP y C++ Un lenguaje para Programadores Carlos PLATERO Indice 0.- OOP 1.-. Objetivos, palabras clave, reglas prácticas, consejos 2.- CLASES Y OBJETOS. Extensión del concepto de estructura en C 3.- HERENCIA.
Más detallesObjeto Clase Atributo / Método Encapsulamiento Mensaje Herencia Polimorfismo Encadenamiento Dinámico
Conceptos Objeto Clase Atributo / Método Encapsulamiento Mensaje Herencia Polimorfismo Encadenamiento Dinámico Objeto Representa una instancia de un elemento del mundo del problema Es cualquier elemento
Más detallesUnidad 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 detallesConceptos a tratar. Fundamentos de la Programación Orientada a Objetos Ampliación sobre clases y objetos
Fundamentos de la Programación Orientada a Objetos Ampliación sobre clases y objetos Programación Orientada a Objetos Facultad de Informática Dep. Ingeniería del Software e Inteligencia Artificial Universidad
Más detallesCurso de Java POO: Programación orientada a objetos
Curso de Java POO: Programación orientada a objetos Luis Guerra Velasco Curso INEM 02830. Programación en Java Marzo 2010 Índice 1 Introducción a la POO 2 Herencia y polimorfismo 3 Empaquetado de proyectos
Más detallesUniversidad 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
Más detallesProgramación Orientada a Objetos
Programación Orientada a Objetos E.T.S.I. Informática 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 la
Más detallesTEMA 6: Lenguajes orientados a objetos. Fundamentos teóricos.
15/03/2011 TEMA 6: Lenguajes orientados a objetos. Fundamentos teóricos. Índice 1 INTRODUCCIÓN 1 1.1 Historia de los lenguajes orientados a objetos 2 1.2 Desarrollo de Software orientado a objetos 2 2
Más detallesUNIVERSIDAD 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 DE INTRODUCCION A LA PROGRAMACION DE COMPUTACION 2 CODIGO: 771 CREDITOS: 5 ESCUELA: Ciencias
Más detallesProgramació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 detallesProgramació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 detallesCLA. 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
Más detallesProgramación Orientada a Objetos
Programación Orientada a Objetos Departamento de Lenguajes y Ciencias de la Computación E.T.S.I. Informática Universidad de Málaga Contenido Introducción histórica Conceptos básicos de la Programación
Más detallesTest : 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 detallesFACULTAD DE ECONOMIA Y ADMINISTRACION DEPARTAMENTO DE CIENCIAS DE LA COMPUTACION CÁTEDRA PROGRAMACION GENERAL. Trabajo Práctico Nº 4
Trabajo Práctico Nº 4 Ejercicios Teóricos 1. Indique si las siguientes afirmaciones son verdaderas o falsas a. La programación orientada a objetos hace uso de clases y envío de mensajes entre objetos..
Más detalles! Qué es la POO?! Un paradigma de programación. ! No hay paradigmas mejores ni peores! Todos tienen sus ventajas e inconvenientes
Introducción Programación orientada a objetos Curso INEM. Programación en Java Santiago Muelas Pascual smuelas@fi.upm.es! Qué es la POO?! Un paradigma de programación! Un paradigma es una forma de afrontar
Más detallesProgramació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 detallesPrincipios de Computadoras II
Departamento de Ingeniería Electrónica y Computadoras Ing. Ricardo Coppo rcoppo@uns.edu.ar Qué es un Objeto? Un objeto es una instancia de una clase Las clases actuán como modelos que permiten la creación
Más detallesMetodologí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 detallesINTRODUCCIÓN...9 CAPÍTULO 1. ELEMENTOS DE UN PROGRAMA INFORMÁTICO...11
Índice INTRODUCCIÓN...9 CAPÍTULO 1. ELEMENTOS DE UN PROGRAMA INFORMÁTICO...11 1.1 PROGRAMA Y LENGUAJESDE PROGRAMACIÓN...12 1.1.1 EL LENGUAJE JAVA...13 1.1.2 EL JDK...15 1.1.3 LOS PROGRAMAS EN JAVA...16
Más detallesHerencia. Hay clases que comparten gran parte de sus características.
Herencia Hay clases que comparten gran parte de sus características. El mecanismo conocido con el nombre de herencia permite reutilizar clases: Se crea una nueva clase que extiende la funcionalidad de
Más detalles16. 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 detallesJava 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 detallesMOO - Metodología y Programación Orientada a Objetos
Unidad responsable: Unidad que imparte: Curso: Titulación: Créditos ECTS: 2015 230 - ETSETB - Escuela Técnica Superior de Ingeniería de Telecomunicación de Barcelona 701 - AC - Departamento de Arquitectura
Más detallesPROGRAMACIÓN EN C#.NET Programación Orientada a Objetos en C# Ing. Bruno López Takeyas
PROGRAMACIÓN EN C#.NET Programación Orientada a Objetos en C# Ing. Bruno López Takeyas Instituto Tecnológico de Nuevo Laredo 1 Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito general
Más detalles2.2.- Paradigmas de la POO
2.2.- Paradigmas de la POO Los principios propios de la orientación a objetos son: 2.2.1.- Abstracción de Datos 2.2.2.- Encapsulamiento 2.2.3.- Ocultamiento 2.2.4.- Herencia 2.2.5.- Polimorfismo Cualquier
Más detallesConstrucciones del Lenguaje Java
Construcciones del Lenguaje Java Autor: Juan Alberto López Cavallotti Versión de Java: 5 / 6 Comentarios Comentario de Línea Comentario Multilínea //Esto es un comentario. /* Esto comenta varias lineas.
Más detallesFundamentos Programación Orientada a Objetos ( POO ) - Parte I Desarrollo de Software
República Bolivariana de Venezuela Ministerio de Educación Superior Fundación Misión Sucre Aldea Fray Pedro de Agreda Fundamentos Programación Orientada a Objetos ( POO ) - Parte I 1 Contenido Qué es
Más detallesFundamentos de Programación Orientada a Objetos ( POO ) Parte 2 Desarrollo de Software
República Bolivariana de Venezuela Fundación Misión Sucre Aldea Fray Pedro de Agreda Trimestre I Fundamentos de Programación Orientada a Objetos ( POO ) Parte 2 1 Qué es la programación orientada a objetos?
Más detallesLas clases están compuestas por un conjunto de miembros. (datos y funciones) también se conocen como (atributos y métodos)
Clases y Objetos Las clases están compuestas por un conjunto de miembros (datos y funciones) también se conocen como (atributos y métodos) Una clase se usa como el modelo que deben seguir los objetos Un
Más detallesPROGRAMA DE CURSO. Escuela de Ingeniería de Sistemas y Computación Universidad del Valle Santiago de Cali, Colombia. Febrero 2007
PROGRAMA DE CURSO Escuela de Ingeniería de Sistemas y Computación Universidad del Valle Santiago de Cali, Colombia Febrero 2007 Curso: ALGORITMIA Y PROGRAMACIÓN Código: 750001M Modalidad: Presencial Teórico
Más detallesConceptos 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 detallesContenido. 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
Más detallesProgramación orientada a objetos en PHP. Lic. Nancy Michelle Torres Villanueva
Programación orientada a objetos en PHP 1 POO Modelo de programación que basa su esquema de pensamiento, análisis y diseño en interacciones entre objetos. Cada objeto tiene un comportamiento definido y
Más detallesAgradecimientos. 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 detallesPresentación de la asignatura
Presentación de la asignatura Programación Orientada a Objetos Facultad de Informática Juan Pavón Mestras Dep. Ingeniería del Software e Inteligencia Artificial Universidad Complutense Madrid Profesor
Más detallesConceptos 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 detallesEstructuras de Datos y Algoritmos. Primeros ejemplos de TDA
Estructuras de Datos y Algoritmos Primeros ejemplos de TDA Repaso POO Programación Orientada a Objetos Principios encapsulamiento abstracción herencia polimorfismo POO y Java: encapsulamiento Todo está
Más detallesModulo 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 detallesElementos Diagramas de Clases Clase:
Diagramas de Clases Un diagrama de clases o estructura estática muestra el conjunto de clases y objeto importantes que forman parte de un sistema, junto con las relaciones existentes entre clases y objetos.
Más detallesTema 3. Programación orientada a objetos en Java (Parte 1)
Programación en Java Tema 3. Programación orientada a objetos en Java (Parte 1) Luis Rodríguez Baena Facultad de Informática Clases y objetos (I) Clase Cojunto de datos (atributos) y funciones (métodos)
Más detallesDestrucción de objetos (I)
Clases y Objetos (3) Presentación basada en: 1. Como Programar en Java. Deitel y Deitel. Ed. Prentice-Hall. 1988 2. Java 2., Curso de programación. Fco. Javier Ceballos. Ed. Alfoomega&RA-MA, 2003. 3. Apuntes
Más detallesTema: Clases y Objetos en C#. Parte II.
Programación II. Guía No. 5 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Clases y Objetos en C#. Parte II. Objetivos Implementar clases, objetos, propiedades, métodos y
Más detallesI. INFORMACIÓN GENERAL II. III. OBJETIVOS
UNIVERSIDAD NACIONAL DE SAN MARTÍN-T FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMÁTICA Escuela Académico Profesional de Ingeniería de Sistemas e Informática Semestre Académico 2013 - I SILABO I. INFORMACIÓN
Más detallesINTRODUCCION A LA PROGRAMACION EN JAVA
Departament d Arquitectura de Computadors INTRODUCCION A LA PROGRAMACION EN JAVA Java 1 y 2 Diferencias entre Java1 y Java2 Mejoras en las interficies gráficas (Swing) Amplias mejoras en las librerías
Más detallesGuía Docente 2013/14
Guía Docente 2013/14 Programación Avanzada Object oriented Programming Grado en Ingeniería de Sistemas de Telecomunicación Modalidad de enseñanza presencial Universidad Católica San Antonio de Murcia Tlf:
Más detallesClases y Objetos en Java. ELO329: Diseño y Programación Orientados a Objetos
Clases y Objetos en Java ELO329: Diseño y Programación Orientados a Objetos Construyendo clases nuevas La forma más simple de una clase en Java es: Class Nombre_de_la_Clase { } /* constructores */ /* métodos
Más detallesTecnología de Programación
Tecnología de Programación Diego C. Martínez Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur UML - Diagramas de clases El diagrama de clases es un diagrama de la estructura
Más detallesDiseñ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 detallesEstructura de datos Tema 2: Tipos Abstractos de Datos (TADs)
Universidad de Valladolid Departamento de informática Campus de Segovia Estructura de datos Tema 2: Tipos Abstractos de Datos (TADs) Prof. Montserrat Serrano Montero ÍNDICE Tipos de datos El tipo abstracto
Más detallesCurso Fundamentos de Informática Lección 7. Programación Orientada a Objetos
Fundamentos de Informática Lección 7. Programación Orientada a Objetos Curso 2010-2011 José Ángel Bañares y Pedro Álvarez 2/11/2010. Dpto. Informática e Ingeniería de Sistemas. Índice de contenidos Implementación
Más detallesTema 7.- Fundamentos de la Programación Orientada a Objetos
Tema 7.- Fundamentos de la Programación Orientada a Objetos 7 de enero de 2014 Objetivos Saber definir clases propias. Saber crear objetos de una clase determinada e interactuar con ellos (Problema 1).
Más detalles2.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 detallesIngeniería del software I Patrones de Diseño
Qué es un Patrón de Diseño? Ingeniería del software I Patrones de Diseño Los patrones de diseño capturan soluciones a problemas particulares de diseño. abstraen estructuras de diseño recurrentes Incorporan
Más detallesForma 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 detallesINTRODUCCIÓ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 detallesEnfoque de Desarrollo de software OO
Enfoque de Desarrollo de software OO Enfoque OO) Ilustraciones de: Object-Oriented Design with Applications,1991, G. Booch 1 Objetivos Presentar los conceptos básicos del enfoque orientado a objetos. 2
Más detallesHoras Contacto. Desarrollar la habilidad para implementar los algoritmos diseñados en el lenguaje de programación orientado a objetos JAVA.
Nombre de la asignatura Código de la asignatura FACULTAD DE INGENIERÍA DEPARTAMENTO DE INGENIERÍA DE SISTEMAS PROGRAMACIÓN ORIENTADA A OBJETOS Fecha de Actualización Miércoles, Enero 28, 2008 Intensidad
Más detallesUnidad I. Introducción al Lenguaje Java. Ing. José Luis Llamas Cárdenas
Unidad I Introducción al Lenguaje Java Ing. José Luis Llamas Cárdenas 1.1 Conceptos de POO Objeto o Informalmente, un objeto representa una entidad del mundo real o Entidades Físicas (Ej.: Vehículo, Casa,
Más detallesPrograma Oficial de Asignatura. Ficha Técnica. Presentación. Competencias y/o resultados del aprendizaje. Contenidos Didácticos
Ficha Técnica Titulación: Grado en Ingeniería Informática Plan BOE: BOE número 108 de 6 de mayo de 2015 Asignatura: Módulo: Programación y Estructura de Datos Curso: 1º Créditos ECTS: 6 Tipo de asignatura:
Más detallesUML Unifield Modeling Languaje
UML Unifield Modeling Languaje 1 Modelo: Representación abstracta de una especificación, un diseño o un sistema. Generalmente, basada en una visión particular y compuesta por uno o más diagramas. Lenguaje
Más detallesVariables. 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 detallesProgramación n Orientada a Objetos Sentencias Java Parte I. Ing. Julio Ernesto Carreño o Vargas MsC.
Programación n Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño o Vargas MsC. Variables y expresiones aritméticas Variables Conceptos de Memoria Una variable es un espacio en la memoria
Más detallesProgramación Orientada a Objetos con Java. Elementos Básicos del Lenguaje Java. Relación entre clases. Ejemplo de Clase: Punto !
Programación Orientada a Objetos con Java Rafael Rivera López Elementos Básicos del Lenguaje Java II Ingeniería en Sistemas Computacionales Agosto-Diciembre de 2004 Veracruz, Ver. Relación entre clases
Más detalles- Compilar y ejecutar programas en Java - Estructura básica de una clase - El comando javac - El comando java - Introducción al IDE de desarrollo
- Introdución a Java - Breve historia de Java - Características del lenguaje Java - Estructura del JDK 1.6 - Documentación del API (JavaDoc) - Instalar y configurar el ambiente de desarrollo - La variable
Más detallesInterfaces 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 detallesPROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA
PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA Angel García Beltrán y José María Arranz Santamaría Sección de Publicaciones Escuela Técnica Superior de Ingenieros Industriales Universidad Politécnica de Madrid
Más detallesDocente/s. R/I Apellido y Nombres Departamento/División R/I Apellido y Nombres Departamento/División
Ciclo Académico: Año de la Carrera: Horas de Clases Semanales Régimen de Cursado Teoría Práctica Otros i (1) Anual 1er.Cuatr. 2do.Cuatr. Otros (2) 2DO 3 3 2 X (1) Observaciones: CLASES DE CONSULTA (2)
Más detallesArquitecturas cliente/servidor
Arquitecturas cliente/servidor Creación de Sockets Cliente Servidor 1 Creación de Sockets Cliente/Servidor Sockets en TCP Concepto de Hilos Definición de DAEMON Sockets en UDP 2 THREADS 3 Qué es un thread?
Más detallesPROGRAMACIÓ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
Más detallesTutorial de C# Delegados y Eventos. Por: Óscar López, M.Sc.
Tutorial de C# Delegados y Eventos Por: Óscar López, M.Sc. olopez@uniandino.com.co DELEGADOS Delegados Son unos objetos que implícitamente extienden de System.Delegate y definen un tipo referencia soportado
Más detallesPython: Programación Orientada. JESSE PADILLA AGUDELO Ingeniero Electrónico
Python: Programación Orientada a Objetos JESSE PADILLA AGUDELO Ingeniero Electrónico Licencia de la Presentación 3 Objetivos Dar un repaso general a la Programación Orientada a Objetos, comprendiendo de
Más detallesTEMA 2 Introducción a C# ANÁLISIS Y DESARROLLO DE APLICACIONES INFORMÁTICAS Curso 2010/2011
TEMA 2 Introducción a C# ANÁLISIS Y DESARROLLO DE APLICACIONES INFORMÁTICAS Curso Origen Nuevo lenguaje de propósito general de Microsoft para la plataforma.net Es el único que ha sido diseñado específicamente.net
Más detallesEI MT1008 Programación II
GRADO EN INGENIERÍA INFORMÁTICA GRADO EN MATEMÁTICA COMPUTACIONAL EI1008 - MT1008 Programación II Curso 2010-2011 Departamento de Lenguajes y Sistemas Informáticos 1. Datos de la asignatura Carácter: Formación
Más detallesJava Inicial (20 horas)
Java Inicial (20 horas) 1 Temario 1. Programación Orientada a Objetos 2. Introducción y Sintaxis Java 3. Sentencias Control Flujo 4. POO en Java 5. Relaciones entre Objetos 6. Polimorfismo, abstracción
Más detallesPatrones 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 detallesDiagrama de Clase. Tipos de diagramas
Diagrama de Clase MC Beatriz Beltrán Martínez MC Miguel Rodríguez Hernández Otoño 2013 Tipos de diagramas Diagramas de estructura: mostrar la estructura estática del sistema que se está modelando Incluye:
Más detallesUnidad I: Introducción a las estructuras de datos
Unidad I: Introducción a las estructuras de datos 1.1 Tipos de datos abstractos (TDA) Los tipos de datos abstractos (TDA) encapsulan datos y funciones que trabajan con estos datos. Los datos no son visibles
Más detallesLABORATORIO 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 detallesUna 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 detallesb) 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 detallesNecesidad de la herencia pertenencia variedad is a has a herencia variedad definir una clase modificando una o más clases añadir nuevos miembros
Necesidad de la herencia La mente humana clasifica los conceptos de acuerdo a dos dimensiones: pertenencia y variedad. Se puede decir que el Ford Fiesta es un tipo de coche (variedad o, en inglés, una
Más detallesComputació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 detallesIntroducción a la Programación Orientada a Objetos
Introducción a la Programación Orientada a Objetos El paradigma imperativo. En un programa se tienen una serie de variables con las cuales operamos y modificamos mediante sentencias y funciones para producir
Más detallesProgramación Orientada a Objetos
Programación Orientada a Objetos Teoría: Begoña Moros Valle Prácticas: Marcos Menárguez Tortosa Contenido Presentación contenido teórico Presentación contenido práctico Introducción a la Programación Orientada
Más detalles