A1 Tpo.docx

  • Uploaded by: Luis Enrique
  • 0
  • 0
  • June 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View A1 Tpo.docx as PDF for free.

More details

  • Words: 1,214
  • Pages: 5
Facultad de Ingeniería Mecánica y Eléctrica TALLER DE PROGRAMCION ORIENTADA A OBJETOS Actividad #1

Luis Enrique Mendez Niño Matricula: 1686719

Carrera: IAS

Hora: jueves (M5-M6) Ing. Antonio Juárez Covarrubias

Enero – Julio 2019

Programación orientada a objetos (POO). Es un paradigma de programación que usa objetos y sus interacciones, para diseñar aplicaciones y programas informáticos. Está basado en varias técnicas, incluyendo herencia, abstracción, polimorfismo y encapsulamiento. Su uso se popularizó a principios de la década de los años 1990. En la actualidad, existe variedad de lenguajes de programación que soportan la orientación a objetos.

Características de la POO. Hay un cierto desacuerdo sobre exactamente qué características de un método de programación o lenguaje le definen como “orientado a objetos”, pero hay un consenso general en que las características siguientes son las más importantes Abstracción: Cada objeto en el sistema sirve como modelo de un “agente” abstracto que puede realizar trabajo, informar y cambiar su estado, y “comunicarse” con otros objetos en el sistema sin revelar cómo se implementan estas características. Los procesos, las funciones o los métodos pueden también ser abstraídos y cuando lo están, una variedad de técnicas son requeridas para ampliar una abstracción.

Encapsulamiento: Significa reunir a todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstracción. Esto permite aumentar la cohesión de los componentes del sistema. Algunos autores confunden este concepto con el principio de ocultación, principalmente porque se suelen emplear conjuntamente.

Principio de ocultación: Cada objeto está aislado del exterior, es un módulo natural, y cada tipo de objeto expone una interfaz a otros objetos que especifica cómo pueden interactuar con los objetos de la clase. El aislamiento protege a las propiedades de un objeto contra su modificación por quien no tenga derecho a acceder a ellas, solamente los propios métodos internos del objeto pueden acceder a su estado. Esto asegura que otros objetos no pueden cambiar el estado interno de un objeto de maneras inesperadas, eliminando efectos secundarios e interacciones inesperadas. Algunos lenguajes relajan esto, permitiendo un acceso directo a los datos internos del objeto de una manera controlada y limitando el grado de abstracción. La aplicación entera se reduce a un agregado o rompecabezas de objetos.

Polimorfismo: comportamientos diferentes, asociados a objetos distintos, pueden compartir el mismo nombre, al llamarlos por ese nombre se utilizará el comportamiento correspondiente al objeto que se esté usando. O dicho de otro modo, las referencias y las colecciones de objetos pueden contener objetos de diferentes tipos, y la invocación de un comportamiento en una referencia producirá el comportamiento correcto para el tipo real del objeto referenciado. Cuando esto ocurre en “tiempo de ejecución”, esta última característica se llama asignación tardía o

asignación dinámica. Algunos lenguajes proporcionan medios más estáticos (en “tiempo de compilación”) de polimorfismo, tales como las plantillas y la sobrecarga de operadores de C++.

Herencia: las clases no están aisladas, sino que se relacionan entre sí, formando una jerarquía de clasificación. Los objetos heredan las propiedades y el comportamiento de todas las clases a las que pertenecen. La herencia organiza y facilita el polimorfismo y el encapsulamiento permitiendo a los objetos ser definidos y creados como tipos especializados de objetos preexistentes. Estos pueden compartir (y extender) su comportamiento sin tener que volver a implementarlo. Esto suele hacerse habitualmente agrupando los objetos en clases y estas en árboles o enrejados que reflejan un comportamiento común. Cuando un objeto hereda de más de una clase se dice que hay herencia múltiple.

Las ventajas de POO La primera ventaja del concepto de objetos es que todo el código que tiene algo que ver con las naves espaciales se encuentra en un solo lugar. Otra ventaja es que los objetos pueden poseer atributos inherentes de la clase a la que pertenecen, por ejemplo, naves espaciales y asteroides podrían tener ambos una posición XY porque todos los objetos que pertenecen a la clase de los objetos en movimiento tiene una posición XY. Escribir códigos es más fácil porque se pueden conceptualizar como algo que le sucede a un objeto. Otra ventaja es que POO hace que los programas grandes sean más manejables. Si todas las ventanas pertenecen a una jerarquía de clases de ventanas y todo el código que se refiere a una ventana particular está dentro de esa ventana, todas las manipulaciones de ventana se pueden escribir como una sencilla transferencia de mensajes.

Las desventajas de POO No todos los programas pueden ser modelados con exactitud por el modelo de objetos. Si lo que deseas es leer algunos datos, hacerles algo simple y escribir de nuevo, no tienes necesidad de definir clases y objetos. Sin embargo, en algunos lenguajes de POO, puede que tengas que realizar este paso extra. Otra desventaja es que, si se fuerza el lenguaje en el concepto de programación orientada a objetos, se pierden algunas de las características de lenguajes útiles, como los "lenguajes funcionales". Otra desventaja el que concepto que un programador tiene de lo que constituye un objeto abstracto puede no coincidir con la visión de otro programador. Los objetos a menudo requieren una extensa documentación.

Aplicación. Hoy en día la tecnología orientada a objetos ya no se aplica solamente a los lenguajes de programación, además se viene aplicando en el análisis y diseño con mucho éxito, al igual que en las bases de datos. Es que para hacer una buena programación orientada a objetos hay que desarrollar todo el sistema aplicando esta tecnología, de ahí la importancia del análisis y el diseño orientado a objetos.

Lenguajes en POO. Los lenguajes de programación orientados a objetos tratan a los programas como conjuntos de objetos que se ayudan entre ellos para realizar acciones. Entendiendo como objeto al entidades que contienen datos. Permitiendo que los programas sean más fáciles de escribir, mantener y reutilizar.

Los objetos tienen toda la información (atributos) que los diferencia de otros pertenecientes a otra clase. Por medio de unos métodos se comunican los objetos de una misma o diferente clase produciendo el cambio de estado de los objetos. Esto hace que a los objetos se les trate como unidades indivisibles en las que no se separan la información ni los métodos usados en su tratamiento.

Los lenguajes de programación orientados a objetos tienen su origen en un lenguaje que fue diseñado por los profesores Ole-Johan Dahl y Kristen Nygaard en Noruega. Este lenguaje de programación orientado a objetos fue el “Simula 67” que fue un lenguaje creado para hacer simulaciones de naves.

Los lenguajes de programación orientadas a objetos son lenguajes dinámicos en los que estos objetos se pueden crear y modificar sobre la marcha. Esta programación orientada a objetos (POO) tomo auge a mediados de los años ochenta debido a la propagación de las interfaces gráficas de usuarios, para lo que los lenguajes de programación orientados a objetos están especialmente dotados. Los principales lenguajes de programación orientados a objetos son: Ada, C++, C#, VB.NET, Clarion, Delphi, Eiffel, Java, Lexico (en castellano), Objective-C, Ocaml, Oz, PHP, PowerBuilder, Python, Ruby y Smalltalk.

Conclusión. Con esta actividad conocí más acerca de lo que es la programación orientada a objetos para que sirve, como se usa en una empresa además de diferentes lenguajes que se utilizan en esta así como cuales son sus ventajas y desventajas que tiene.

Bibliografía. https://www.ecured.cu/Programaci%C3%B3n_Orientada_a_Objetos https://algonzalezpoo.wordpress.com/caracteristicas-de-poo/ https://techlandia.com/ventajas-desventajas-programacion-orientada-objetosinfo_184901/

Related Documents

A1
June 2020 25
A1
May 2020 34
A1
June 2020 29
A1
June 2020 21
A1
May 2020 39
A1
November 2019 53

More Documents from ""

A1 Tpo.docx
June 2020 5
October 2019 27
While.dowhile
October 2019 23
Ssoma
August 2019 22
October 2019 25
June 2020 10