16/2/2016Curso gratuito - Programacion Orientada a Objetos - Ciberaula Página de Inicio Artículo Programación Orientada a Objetos Programacion orientada a objetos Nombre: POO (Programacion Orientada a objetos) Compartir 18 Email: Comentario: Curso online gratuito POO y Java Click Aquí Ir a la página principal de POO Programación Orientada a Objetos Historia de la Programación El Objeto La Clase Abstracción Herencia Polimorfismo Ventajas POO Lenguajes Orientados a Objetos Profesor: Ángel Roldán Lenguaje de Programación Java Introdución a Java Encapsulamiento en Java Método main Flujos de Control en Java Declaración de una clase en Java Control de Acceso a Miembros de Clase This, en Clases de Java Clases en Java de Utilidad Métodos de clase Origen de los Patrones de Diseño El Patrón Proxy El Patrón Bridge (Puente) El Patrón Iterador (Iterator) Conceptos de programación Palabras Reservadas Java Master Master Java (POO J2SE J2EE) Tecnología Java Java Básico Java para Internet (J2EE) Java Avanzado Java y XML Lenguaje Java (J2SE) Programación Programación orientada a objetos Java y Aplicaciones Web Ir a la portada de Ciberaula Estructura de Datos en Java Pilas en Java Listas en Java Colas en Java Árboles en Java Exploración de Árboles Grafos en Java Algoritmos Voraces Backtracking Conceptos Básicos de Programación Compartir 18 Twittear Share 2 Recomendar 87 Logica Tabla de Verdad Propiedades en Programación El Pseudolenguaje Parte I El Pseudolenguaje Parte II Diagrama de Flujo I Diagrama de Flujo II UML Divide y Vencerás Operadores Operadores Aritméticos Operadores de Asignación Operadores Relacionales Operadores Logicos Introducción a las Aplicaciones Web Tecnología Servlet Tecnología JSP JavaBeans Enterprise programacion orientada a objetos Índice 1. Introducción 2. Tecnología orientada a objetos 1. Una Perspectiva Histórica 2. ¿Cuáles son las ventajas de un lenguaje orientado a objetos? 3. El modelo orientado a objetos 1. objetos 2. clases 3. Herencia 4. Envío de mensajes 4. Características asociadas a la POO 1. Abstracción 2. Encapsulamiento 3. Ocultamiento 4. Modularidad 5. Polimorfismo 5. Lenguajes de programación orientado a objetos 6. Análisis y diseño orientado a objetos 7. Resumen Introducción http://www.ciberaula.com/articulo/tecnologia_orientada_objetos/ 1/6 compuesto por módulos independientes que puedan comunicarse entre sí. En la actualidad. la programación fue hecha en una manera secuencial o lineal. Los objetos son unidades independientes que se comunican entre ellos mediante mensajes.Programacion Orientada a Objetos . La POO se basa en la dividir el programa en pequeñas unidades lógicas de código. Permite crear sistemas más complejos. Este tipo de descomposición conduce directamente a la programacion orientada a objetos. polimorfismo.16/2/2016 Curso gratuito . La idea principal de esta forma de programación es separar las partes complejas del programa en módulos o segmentos que sean ejecutados conforme se requieran. para diseñar aplicaciones y programas informáticos. Veamos con mayor detenimiento este tema. Poco a poco este estilo de programación fue reemplazando al estilo “espaguetti” impuesto por la programación lineal. incluyendo herencia. Tecnología orientada a objetos Hoy en día la tecnología orientada a objetos ya no se aplica solamente a los lenguajes de programación. Pues la creciente tendencia de crear programas cada vez más grandes y complejos llevó a los desarrolladores a crear una nueva forma de programar que les permita crear sistemas de niveles empresariales y con reglas de negocios muy complejas. Relacionar el sistema al mundo real. Esta acogida se debe a sus grandes capacidades y ventajas frente a las antiguas formas de programar.com/articulo/tecnologia_orientada_objetos/ 2/6 . vemos que la evolución que se fue dando en la programación se orientaba siempre a ir descomponiendo más el programa. Está basada en varias técnicas. Construcción de prototipos Agiliza el desarrollo de software Facilita el trabajo en equipo Facilita el mantenimiento del software Lo interesante de la POO (programacion orientada a objetos) es que proporciona conceptos y herramientas con las cuales se modela y representa el mundo real tan fielmente como sea posible. Facilita la creación de programas visuales. La programacion orientada a objetos es una de las formas más populares de programar y viene teniendo gran acogida en el desarrollo de proyectos de software desde los últimos años. ¿Cuáles son las ventajas de un lenguaje orientado a objetos? Fomenta la reutilización y extensión del código.ciberaula. acoplamiento y encapsulamiento. existe una gran variedad de lenguajes de programación que soportan la orientación a objetos. pero el problema ocurre cuando los sistemas se vuelven complejos. Es que para hacer una buena programacion orientada a objetos hay que desarrollar todo el sistema aplicando esta tecnología. Es así como aparece la programacion orientada a objetos (POO). Frente a esta dificultad aparecieron los lenguajes basados en la programación estructurada. Una Perspectiva Histórica Tradicionalmente. u OOP según sus siglas en inglés) es un paradigma de programación que usa objetos en sus interacciones. cohesión. además se viene aplicando en el análisis y diseño con mucho éxito. La POO viene de la evolución de la programación estructurada; básicamente la POO simplifica la programación con la nueva filosofía y nuevos conceptos que tiene. Para estas necesidades ya no bastaba la programación estructurada ni mucho menos la programación lineal. Estos programas escritos al estilo “espaguetti” no ofrecen flexibilidad y el mantener una gran cantidad de líneas de código en sólo bloque se vuelve una tarea complicada. Entonces. es decir una serie de pasos consecutivos con estructuras consecutivas y bifurcaciones.Ciberaula La programacion orientada a objetos (POO. de ahí la importancia del análisis y el diseño orientado a objetos. A estas pequeñas unidades lógicas de código se les llama objetos. al igual que en las bases de datos. De esta manera tenemos un diseño modular. El modelo Orientado a objetos http://www. abstracción. Los lenguajes basados en esta forma de programación ofrecían ventajas al principio. Su uso se popularizó a principios de la década de 1990. Definición teórica: Un objeto es una unidad de código compuesto de variables y métodos relacionados. Internamente. retroceder. o conocer donde se coloca la tarjeta de video. los automóviles tienen características (marca. podemos decir que nuestro objeto celular es una instancia de una clase conocida como "celular". nuestro teléfono celular es sólo uno de los miles que hay en el mundo. Las clases En el mundo real. Los celulares tienen características (marca. o cómo funciona internamente el procesador. enviar mensajes multimedia. al igual que los objetos del mundo real. Por ejemplo. etc. el chip del procesador. modelo. Por ejemplo. Un objeto de software mantiene sus características en una o más "variables". 2. El trabajo en conjunto de todos estos componentes hace operar a una computadora. etc. modelo. cada uno tiene un rol específico en el programa y todos los componentes pueden comunicarse entre ellos de formas predefinidas. imaginemos que tenemos estacionado en nuestra cochera un Ford Focus color azul que corre hasta 260 km/h. velocidad máxima. normalmente tenemos muchos objetos del mismo tipo. Cuando conocemos como interaccionan los componentes entre sí.). tendremos un objeto Automóvil con sus características predeterminadas: Marca = Ford Modelo = Focus Color = Azul Velocidad Máxima = 260 km/h Cuando a las características del objeto le ponemos valores decimos que el objetotiene estados. Pero nosotros no necesitamos saber cómo trabajan cada uno de estos componentes. etc.Ciberaula Para entender este modelo vamos a revisar 4 conceptos básicos: objetos clases Herencia Envío de mensajes 1. y otras partes más. Todo el programa está construido en base a diferentes componentes (objetos). e implementa su comportamiento con "métodos".com/articulo/tecnologia_orientada_objetos/ 3/6 . No necesitamos ser expertos en hardware para saber que una computadora está compuesta internamente por varios componentes: la tarjeta madre. cada uno de estos componentes puede ser sumamente complicado y puede ser fabricado por diversas compañías con diversos métodos de diseño. Un método es una función o subrutina asociada a un objeto.) y comportamientos (hacer y recibir llamadas. podremos armar fácilmente una computadora. un árbol o un automóvil. ambos son objetos. Todo objeto del mundo real tiene 2 componentes: características y comportamiento. Primero empecemos entendiendo que es un objeto del mundo real. acelerar.) y comportamiento (frenar. saber por ejemplo si el procesador y las memorias son compatibles con la tarjeta madre. también tienen características y comportamientos. como saber que hace cada uno de los chips de la tarjeta madre. ¿Que tiene que ver esto con la programación? La programacion orientada a objetos trabaja de esta manera. al igual que nuestro teléfono celular. http://www.ciberaula.16/2/2016 Curso gratuito . pantalla. y todo lo que necesitamos saber de adentro es cómo interactúan entre sí los componentes. como la computadora. transmisión de datos. teclado. Cada componente es una unidad autónoma. Si hablamos en términos de la programacion orientada a objetos.). Un objeto del mundo real es cualquier cosa que vemos a nuestro alrededor. etc. Los objetos de Software. Las variables almacenan los estados de un objeto en un determinado momento. Si pasamos ese objeto del mundo real al mundo del software. una tarjeta de video. Analicemos un poco más a un objeto del mundo real. llenar combustible. Para redondear estas ideas.Programacion Orientada a Objetos . sistema operativo. cambiar llantas. un disco duro. Digamos que para leer este artículo lo hacemos a través del monitor y una computadora. Objetos Entender que es un objeto es la clave para entender cualquier lenguaje orientado a objetos. color. Existen muchas definiciones que se le ha dado al objeto. Esas 2 clases nuevas se construirán a partir de la clase Celular existente. También se puede decir que una clase es una plantilla genérica para un conjunto de objetos de similares características. Envío de Mensajes Un objeto es inútil si está aislado. podemos tener una gran jerarquía de clases tal y como vemos en el siguiente gráfico: 4. una instancia de una clase es otra forma de llamar a un objeto. Definición Teórica: Una instancia es un objeto de una clase en particular. Definición teórica: La clase es un modelo o prototipo que define las variables y métodos comunes a todos los objetos de cierta clase. De esta manera se crea una jerarquía de herencia. En general.16/2/2016 Curso gratuito . imaginemos que estamos haciendo el análisis de un Sistema para una tienda que vende y repara equipos celulares.ciberaula. para que a partir de esas se puedan crear muchos equipos celulares del mismo modelo. http://www.com/articulo/tecnologia_orientada_objetos/ 4/6 . los mensajes son invocaciones a los métodos de los objetos. Herencia La herencia es uno de los conceptos más cruciales en la POO (programacion orientada a objetos). Hablando en términos un poco más técnicos. Esto mismo se aplica a los objetos de software. 3. Esto significa que una subclase. tiene incorporados los atributos y métodos heredadosde la superclase. En realidad no existe diferencia entre un objeto y una instancia. Por otro lado. De esa forma utilizamos el comportamiento de la Superclase. aparte de los atributos y métodos propios. El medio empleado para que un objeto interactúe con otro son los mensajes.Programacion Orientada a Objetos .Ciberaula Cuando se fabrican los celulares. En el gráfico vemos 2 clases más que posiblemente necesitemos para crear nuestro Sistema. y a los equipos que sacamos a partir de ella la llamamos objetos. Sólo que el objeto es un término más general. Por ejemplo. los fabricantes aprovechan el hecho de que los celulares comparten esas características comunes y construyen modelos o plantillas comunes. pero los objetos y las instancias son ambas representación de una clase. se puede tener muchos objetos del mismo tipo y mismas características. A ese modelo o plantilla le llamamos clase. La herencia básicamente consiste en que una clase puede heredar sus variables y métodos a varias subclases (la clase que hereda es llamada superclase o clase padre). asociados a objetos distintos. Restringir porque habrá cierto comportamiento privado de la clase que no podrá ser accedido por otras clases.ciberaula. También se necesitará realizar un análisis y diseño orientado a objetos. ya que tendremos a las clases como cajas negras donde sólo se conoce el comportamiento pero no los detalles internos. El ocultamiento permite 2 cosas: restringir y controlar el uso de la clase. Por ejemplo. Cuando esto ocurre en "tiempo de ejecución".com/articulo/tecnologia_orientada_objetos/ 5/6 .Ciberaula Características asociadas al POO Abstracción La abstracción consiste en captar las características esenciales de un objeto. peso. las referencias y las colecciones de objetos pueden contener objetos de diferentes tipos. volvamos al ejemplo de los automóviles. ventanas. llantas. dicho de otro modo. retroceder. La utilidad del encapsulamiento va por la facilidad para manejar la complejidad. Es tener todo esto es una sola entidad. Análisis y diseño Orientado a objetos Para el desarrollo de software orientado a objetos no basta usar un lenguaje orientado a objetos. En los lenguajes estructurados esto era imposible. pero tienen conexiones con otros módulos. pero sin lugar a duda. Y controlar porque daremos ciertos mecanismos para modificar el estado de nuestra clase y es en estos mecanismos dónde se validarán que algunas condiciones se cumplan. el PHP 5. Stroustrup extendió el lenguaje de programación C a C++. Java desarrollado por SUN. Polimorfismo Comportamientos diferentes. es decir C con conceptos de clases y objetos. Es evidente que el encapsulamiento se logra gracias a la abstracción y el ocultamiento que veremos a continuación. esto es. y esto es conveniente porque nos interesará será conocer qué hace la clase pero no será necesario saber cómo lo hace. Según los mismos diseñadores del lenguaje UML. las variables y métodos. puertas. éste tiene como fin modelar cualquier tipo de http://www. los lenguajes soportan la modularidad de diversas formas. etc. O.Programacion Orientada a Objetos . Algunos lenguajes proporcionan medios más estáticos (en "tiempo de compilación") de polimorfismo. Al igual que la encapsulación. private y protected delante de las variables y métodos. frenar. el Lenguaje de Modelamiento Unificado (UML) puso fin a la guerra de metodologías. Finalmente también otros lenguajes script como el ActionScript que si bien no es totalmente orientado a objetos pero sí posee las características. así como su comportamiento. como el Pascal a Delphi. un modelo.16/2/2016 Curso gratuito . etc. El modelamiento visual es la clave para realizar el análisis OO (orientado a objeto). en Java tenemos: public class Automovil { // variables // métodos } Encapsulamiento El encapsulamiento consiste en unir en la clase las características y comportamientos. pueden compartir el mismo nombre; al llamarlos por ese nombre se utilizará el comportamiento correspondiente al objeto que se esté usando. cada una de las cuales debe ser tan independiente como sea posible de la aplicación en sí y de las restantes partes. E. que hereda conceptos de C++. y la invocación de un comportamiento en una referencia producirá el comportamiento correcto para el tipo real del objeto referenciado. Lenguajes de Programación Orientado a objetos En 1985. Estos módulos se pueden compilar por separado. también por esas fechas se creo desde sus bases el lenguaje EIFFEL. En 1995 apareció el más reciente lenguaje OO. tales como las plantillas y la sobrecarga de operadores de C++. Por ejemplo. número de chasis. Y en cuanto a su comportamiento todos los automóviles podrán acelerar. trae todas las características necesarias para desarrollar software orientado a objetos. Desde los inicios del desarrollo de software OO han existido diferentes metodologías para hacer esto del modelamiento. el concepto de clase es la representación y el mecanismo por el cual se gestionan las abstracciones. En los lenguajes de programación orientada a objetos. esta última característica se llama asignación tardía o asignación dinámica. ¿Qué características podemos abstraer de los automóviles? O lo que es lo mismo ¿Qué características semejantes tienen todos los automóviles? Todos tendrán una marca. El lenguaje de desarrollo más extendido para aplicaciones Web. Modularidad Es la propiedad que permite subdividir una aplicación en partes más pequeñas (llamadas módulos). Además de otros lenguajes que fueron evolucionando. En Java el ocultamiento se logra usando las palabras reservadas: public. Ocultamiento Es la capacidad de ocultar los detalles internos del comportamiento de una clase y exponer sólo los detalles que sean necesarios para el resto del sistema. Los modelos orientados a objetos cuando se construyen en forma correcta. La orientación a objetos requiere de una metodología que integre el proceso de desarrollo y un lenguaje de modelamiento con herramientas y técnicas adecuadas. En un programa orientado a objetos tendremos a un conjunto de objetos colaborando entre ellos. La misma empresa creó uno de los programas más conocidos hoy en día para este fin; el Racional Rose. Este modelamiento en UML es flexible al cambio y permite crear componentes plenamente reutilizables. Fue la empresa Racional que creó estas definiciones y especificaciones del estándar UML. La orientación a objetos es paradigma de que está de moda para el desarrollo de software. validar y verificar. y lo abrió al mercado. El UML consta de todos los elementos y diagramas que permiten modelar los sistemas en base al paradigma orientado a objetos. cambiar. Aviso legal Lo más buscado y visitado en Ciberaula Masters: Master en Programación Web | Master en Diseño Gráfico | 3D Studio Max Cursos: Curso Online de Excel | Curso Online de Access | Excel Basico | Excel Intermedio | Excel Avanzado | Excel para Big Data | Access Avanzado | Macros Excel | Microsoft Excel Financiero | Programación de Macros Excel con Visual Basic | Curso Online de Prevencion de Riesgos Laborales | Cursos de Prevencion de riesgos laborales | Curso Online de Atencion al Cliente | GNU/Linux | Curso de Java | Cursos de PHP | Curso de HTML | Curso de ASP. Un objeto del mundo real tiene características y comportamientos.NET | Curso normas ISO | 3d Studio Max | 3d Studio Iluminación | 3d Studio Modelado | Curso de Ingles | Excel Online | funciones excel | Curso de Office | Curso Online de Eneagrama | curso online de diseño grafico | cursos de java online | curso de linux | Curso Online de Educación para la Igualdad de Oportunidades | Curso online de Contaplus | curso online de liderazgo | Secciones: Formacion programada por las empresas | Programacion Orientada a Objetos | Cursos OnLine | Tutorial Linux | Lenguaje Java | Cursos SENCE | Cursos Bonificados | Cursos Online Bonificados | fundacion tripartita cursos | e learning cursos | | sistema operativo linux | Cursos sence 2016 | Recomendados: Deontologia | Cursos Gratuitos | Aula Virtual | Etica Profesional | Que es Word | Illustrator online | cursos bonificados 2016 | cursos bonificados para trabajadores | POO Y Java: POO | J2EE | J2SE | Operadores logicos | Operadores Relacionales | Listas en Java | Abstraccion | Encapsulamiento | Copyright 20142015 Ciberaula ® Reservados Todos los Derechos http://www. pero también existen otros programas como el Poseidon que trae licencias del tipo community edition que permiten su uso libremente. Los objetos se comunican entre ellos usando los mensajes. Resumen ¿Por qué seguimos buscando nuevas técnicas de desarrollo? Por el aumento de la complejidad de los sistemas. un objeto del mundo del software tiene variables y métodos.Programacion Orientada a Objetos . Actualmente en la industria del desarrollo de software tenemos al UML como un estándar para el modelamiento de sistemas OO. Una clase es una plantilla que define las variables y métodos a ser incluidas en un tipo de objeto específico. Y además. Un mensaje es la invocación de un método del objeto. Los objetos también son llamados instancias de la clase. este lenguaje debe ser entendible para los humanos y máquinas.16/2/2016 Curso gratuito .com/articulo/tecnologia_orientada_objetos/ 6/6 .ciberaula. Los objetoss sólo almacenan su estado.Ciberaula sistemas (no solamente de software) usando los conceptos de la orientación a objetos. expandir. Un objeto es una abstracción conceptual del mundo real que se puede traducir a un lenguaje de programación orientado a objetos. Se dice que un objeto tiene estado cuando tiene valores en sus variables. son fáciles de comunicar. y de la misma manera.
Report "Curso Gratuito - Programacion Orientada a Objetos"