Sunteți pe pagina 1din 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-objetos-
info_184901/

S-ar putea să vă placă și