Documente Academic
Documente Profesional
Documente Cultură
Eléctrica
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.
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.
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.
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.
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.
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.
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/