programacion orientada a objetos luis joyanes aguilar
INFORMACION DE programacion orientada a objetos mega luis joyanes aguilar
programacion orientada a objetos mega luis joyanes aguilar esta orientado para los desarrolladores y programadores freelancer profesionales y novatos que quieran ampliar sus conocimientos de forma profesional y rapida.
Aprrende a programar con cursos gratis c++, Cshared, php, javaScript, java, python.Para mas LIBROS gratis y profesionales aqui
Prólogo PARTE I: PROGRAMACIÓN ORIENTADA A OBJETOS 1. Introducción: la orientación a objetos Conceptos previos Programación estructurada Programación modular Abstracción Ocultamiento de implementación Hacia un nuevo paradigma Calidad del software Orientación a objetos Reducción de la brecha entre el mundo de los problemas y el mundo de los modelos Aumento del nivel de complejidad de los sistemas Reutilización y extensión del código Uso de prototipos Programación en ambientes de interfaz de usuario gráfica Programación por eventos Programación orientada a objetos Significado Lenguajes de programación orientada a objetos Herramientas visuales y de desarrollo rápido de aplicaciones 2. Programación orientada a objetos: generalidades y encapsulamiento Objetos y clases Objetos Clases Encapsulamiento La abstracción en programación orientada a objetos El ocultamiento en programación orientada a objetos Encapsulamiento Tipos especiales de atributos Atributos de clase Atributos con valor constante Atributos con restricciones Métodos de clase Terminología de objetos Estados, eventos y transiciones Operaciones Estado observable de un objeto Pasaje por valor y por referencia en programación orientada a objetos Constructores Destructores Sobrecarga Implementación de objetos y clases en distintos lenguajes Objetos y clases en Object Pascal Objetos y clases en C++ Objetos y clases en Java Ejercicio resuelto: implementación de números racionales Enunciado Solución en Object Pascal Solución en C++ Solución en Java Ejercicio resuelto: implementación de conjuntos Enunciado Solución en Object Pascal Solución en C++ Solución en Java 3. Programación orientada a objetos: reutilización y extensión del código Reutilización con composición Composición Agregación Reutilización con herencia Definición y ejemplos Utilización de herencia Herencia múltiple Herencia con excepciones Especialización con menos atributos Constructores, destructores, herencia y composición Atributos y métodos protegidos Generalización, especialización e instanciación Interfaces Concepto de interfaz Un ejemplo de interfaces: la clase adaptadora Elección de implementación: ¿composición, herencia o interfaces? Implementación de reutilización del código en distintos lenguajes Composición, herencia e interfaces en Object Pascal Composición y herencia simple y múltiple en C++ Composición, herencia e interfaces en Java Ejercicio resuelto: implementación de matrices Enunciado Solución en Object Pascal Solución en C++ Solución en Java Ejercicio resuelto: uso de la implementación de matrices Enunciado Solución en Object Pascal Solución en C++ Solución en Java 4. Programación orientada a objetos: polimorfismo Polimorfismo Polimorlismo y vinculación tardía Redefinición Sobrecarga y redefinición Objetos polimorfos o conversión de tipo automática Métodos virtuales Constructores y destructores virtuales Grados de polimorfismo Clases y métodos abstractos Clases abstractas Métodos abstractos Clases utilitarias y clases sin estado Uso de información de tipos en tiempo de ejecución Transformación de tipos Moldeo automático y moldeo explícito Datos estructurados con elementos de varios tipos Información de tipos en tiempo de ejecución Implementación del polimorfismo en distintos lenguajes Polimorfismo y otros aspectos en Object Pascal Polimorfismo y otros aspectos en C++ Polimorfismo y otros aspectos en Java Ejercicio resuelto: propiedades de una inmobiliaria Enunciado Solución en Object Pascal Solución en C++ Solución en Java Ejercicio resuelto: uso de ta implementación de la inmobiliaria Enunciado Solución en Object Pascal Solución en C++ Solución en Java 5. Documentando la programación Documentación en general UML para documentar la programación UML Diagramas de clases Diagramas de secuencia Diagramas de estados Diagramas de actividades Diagramas y programas Documentación interna Documentación interna de la programación El caso de javadoc Estándares de nomenclatura Ejercicio resuelto: diagramas de actividades, clases y secuencia Enunciado Solución Ejercicio resuelto: un diagrama de estados Enunciado Solución 6. Temas misceláneos de programación orientada a objetos Colecciones en los lenguajes orientados a objetos Colecciones y niveles de abstracción Tipos genéricos y clases parametrizadas Iteradores Colecciones e iteradores en Java Colecciones e iteradores en C++ Colecciones en Object Pascal (Delplti y Kylix) Programación guiada por eventos La programación secuencial y sus limitaciones Eventos y programación Mensajes y eventos Metodologías de ruteo de mensajes Manejo de los eventos Generalización del concepto de eventos en programación orientada a objetos Componentes Paquetes Un soporte para la administración de clases Organización de las clases en Object Pascal Organización de las clases en C++ Organización de las clases en Java Colaboraciones Patrones de diseño Patrones de diseño y de arquitectura Caso I: Singleton Caso II: recorridos de colecciones Caso III: el patrón observador Lenguajes orientados a objetos Simula Smalltalk C++ Object Pascal / Delphi / Kylix Java Python C# Visual Basic 6 Javascript Un cuadro comparativo de lenguajes Ejercicio resuelto: un paquete de figuras geométricas Enunciado Solución en Object Pascal Solución en C++ Solución en Java Ejercicio propuesto: patrón observador Enunciado 7. Análisis global del paradigma de orientación a objetos Qué aporta de nuevo la programación orientada a objetos Una serie de requisitos mínimos para ser "orientado a objetos" Conceptos de desarrollo de software antes y después de la orientación a objetos Definición de sistema Cohesión y acoplamiento Ciclo de vida tradicional del software Desarrollo con prototipos completos El Proceso Unificado de Desarrollo de Software Extreme programming Desarrollo orientado a objetos para proyectos pequeños Algunas notas sobre mantenimiento Una introducción a las pruebas en programación orientada a objetos Las pruebas en el desarrollo de software Las pruebas en las metodologías de desarrollo incrementat Las pruebas en extreme programming Pruebas y programación orientada a objetos El futuro de la orientación a objetos Recomendaciones generales para diseño y programación orientada a objetos PARTE II: ASPECTOS AVANZADOS 8. Tratamiento de problemas en tiempo de ejecución y excepciones Dependencia de estados Introducción Enfoques conservadores Enfoques optimistas Excepciones Errores y excepciones Distintas formas de tratar excepciones Transacciones Lanzamiento de excepciones Captura de excepciones: manejadores Atributos y métodos en excepciones creadas por el programador Excepciones derivadas Excepciones en Object Pascal Excepciones en C++ Excepciones en Java El patrón de moldes de métodos para invariantes Algunas desventajas del modelo actual de excepciones Ejercicio resuelto: implementación de fechas con excepciones Enunciado Solución en Object Pascal Solución en C++ Solución en Java Ejercicio propuesto: jerarquía de excepciones Enunciado 9. Distintos modelos de datos ¿Objetos estáticos o referencias? Inicialización, asignación y liberación de memoria Copia y clonación Asignación y copia en el modelo estático La clonación en el modelo dinámico Igualdad y desigualdad Ejercicio resuelto: implementación de copia/clonación e igualdad Enunciado Solución en Object Pascal Solución en C++ Solución en Java Ejercicio propuesto: copia/clonación e igualdad Enunciado 10. Persistencia de objetos Persistencia y objetos persistentes Conceptos básicos Separación de la capa de acceso a datos Normas de la persistencia Persistencia y bases de datos relacionales Bases de datos orientadas a objetos Evolución del modelo de clases Soluciones para el almacenamiento de objetos Serialización y XML Serialización en Java Del modelo de objetos al modelo relacional Consideraciones adicionales Problemas con objetos complejos Los lenguajes orientados a objetos y la persistencia Ejercicio resuelto: serialización XML Enunciado Solución en Object Pascal Ejercicio resuelto: serialización a una cadena de bytes Enunciado Solución en Java 11. Concurrencia y programación orientada a objetos Conceptos generales Haciendo varias cosas a la vez Concurrencia Procesos e hilos Concurrencia y programación orientada a objetos Representación de concurrencia en UML Escenarios concurrentes Comunicación entre objetos activos Objetos activos comunicándose con objetos pasivos Prioridades Problemas y soluciones Exclusión mutua y sincronización de métodos y bloques Inconvenientes de la sincronización de métodos Objetos inmutables Llaves de lectura y escritura Confinamiento Llaves de exclusión mutua (mutex) Semáforos Actualizaciones optimistas Otras soluciones para evitar la sincronización de métodos Bloqueos transitorios y bloqueos patológicos Interbloqueo Dependencia de estados, excepciones y constructores Problemas con los compiladores y las optimizaciones Cuándo usar concurrencia y cuándo no Concurrencia y lenguajes de programación Concurrencia en Java Concurrencia en Object Pascal (Delphi y Kylix) Concurrencia en C++ Temas afines Programación en contextos de multiprocesamiento Computación distribuida Ejercicio resuelto: exclusión en el acceso a una cuenta bancaria Enunciado Solución en Java I (con sincronización total) Solución en Java II (con llaves de lectura y escritura) Solución en Object Pascal con llaves de lectura y escritura Ejercicio resuelto: múltiples hilos en la multiplicación de grandes matrices Enunciado Solución en Object Pascal Solución en Java PARTE III: ALGUNAS APLICACIONES 12. Programación en ambientes de interfaz de usuario gráfica Programación en interfaces gráficas y objetos Implementación de la programación por eventos en los lenguajes orientados a objetos WIMP y programación por eventos Eventos en Delphi y Kylix Eventos en Java Swing ¿Eventos en C++? Separación de capas de interfaz de usuario y modelo Interfaces de usuario y HCI Independencia de diálogo MVC Consecuencias de la independencia de diálogo 13. Programación Web Conceptos básicos Redes e Internet Aplicaciones y World Wide Web HTML y contenido dinámico del lado del cliente Generación de páginas en el servidor Sitios Web, Aplicaciones Web y Servicios Web La programación de aplicaciones y servicios Web Aplicando la orientación a objetos Otras consideraciones Separación en capas
INFORMACION TUSOLUTIONWEB
En tu blog codigo fuente gratis publicamos todo tipo de cotenido para programadores ya sea codigo fuente,libros, cursos en php,ajax, jquery ,python,vb.net,laravel, mysql, java , Cshared , programas y cursos online de programacion.
Actualizamos diario el contenido y para eso tenemos nuestras redes sociales para que nos puedes seguir y estar al tanto del material para programadores que publicamos diariamente.
Redes Sociales Tusolutionweb
Siguenos en Facebook
Siguenos en twitter
Siguenos en youtube a tusolutionweb tutos
Información de descarga
Recuerde que tiene que pasar el acortador y aparera el link en mega si no nunca ha usado un acortador o tiene problemas para descargar vea este tutotial aqui.