OBJETIVO: Consultar los conceptos básicos acerca de la programación orientada a objetos para lograr alcanzar el aprendizaje de este tema por medio del análisis de varias fuentes de consultas.
¿QUÉ ES?
La programación orientada a objetos es un
paradigma de programación que usa objetos en sus interacciones, para diseñar
aplicaciones y programas informáticos. Está basada en varias técnicas,
incluyendo herencia, cohesión, abstracción, polimorfismo, acoplamiento y
encapsulamiento. Su uso se popularizó a principios de la década de 1990. En la
actualidad, existe una gran variedad de lenguajes de programación que soportan
la orientación a objetos.
CARACTERÍSTICAS
Abstracción
Denota las
características esenciales de un objeto, donde se capturan sus comportamientos.
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. El proceso de
abstracción permite seleccionar las características relevantes dentro de un
conjunto e identificar comportamientos comunes para definir nuevos tipos de
entidades en el mundo real. La abstracción es clave en el proceso de análisis y
diseño orientado a objetos, ya que mediante ella podemos llegar a armar un
conjunto de clases que permitan modelar la realidad o el problema que se quiere
atacar.
Modularidad
Se denomina
"modularidad" a la propiedad que permite subdividir una aplicación en
partes más pequeñas, cada una de las cuales debe ser tan independiente como sea
posible de la aplicación en sí y de las restantes partes. Estos módulos se
pueden compilar por separado, pero tienen conexiones con otros módulos.
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 específica 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. La aplicación
entera se reduce a un agregado o rompecabezas de objetos.
Recolección de basura
La recolección
de basura es la técnica por la cual el entorno de objetos se encarga de
destruir automáticamente, y por tanto desvincular la memoria asociada, los
objetos que hayan quedado sin ninguna referencia a ellos. Esto significa que el
programador no debe preocuparse por la asignación o liberación de memoria, ya
que el entorno la asignará al crear un nuevo objeto y la liberará cuando nadie
lo esté usando.
¿QUÉ ES UN OBJETO?
En la programación
orientada a objetos, un objeto es
una unidad dentro de un programa de computadora que consta de un estado y de un
comportamiento, que a su vez constan respectivamente de datos almacenados y de
tareas realizables durante el tiempo de ejecución. Un objeto puede ser creado
instanciando una clase, como ocurre en la programación orientada a objetos, o
mediante escritura directa de código y la replicación otros objetos, como
ocurre en la programación basada en prototipos.
¿QUÉ ES UNA CLASE?
Una clase es una plantilla para la creación
de objetos de datos según un modelo predefinido. Las clases se utilizan para
representar entidades o conceptos, como los sustantivos en el lenguaje. Cada
clase es un modelo que define un conjunto de variables -el estado, y métodos
apropiados para operar con dichos datos -el comportamiento. Cada objeto creado
a partir de la clase se denomina instancia de la clase.
¿A QUÉ HACE REFERENCIA EL 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++.
¿QUÉ ES HERENCIA?
Las clases no se
encuentran 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; siendo de alta
complejidad técnica por lo cual suele recurrirse a la herencia virtual para
evitar la duplicación de datos.
¿QUÉ ES ENCAPSULAMIENTO?
Significa reunir
todos los elementos que pueden considerarse pertenecientes a una misma entidad,
al mismo nivel de abstracción. Esto permite aumentar la cohesión (diseño
estructurado) de los componentes del sistema. Algunos autores confunden este
concepto con el principio de ocultación, principalmente porque se suelen
emplear conjuntamente.
CONCLUSIONES:
- La programación orientada a objetos que utiliza
objetos como elementos fundamentales en la construcción de la solución
- Un objeto es una abstracción de algún hecho o
ente del mundo real, con atributos que representan sus características o
propiedades, y métodos que emulan su comportamiento o actividad.
· - Todas las propiedades y métodos comunes a los
objetos se encapsulan o agrupan en clases.
· - Una clase es una plantilla, un prototipo para
crear objetos; en general, se dice que cada objeto es una instancia o ejemplar
de una clase.
NETGRAFÍA:
· - https://es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objetos#Caracter.C3.ADsticas_de_la_POO
No hay comentarios:
Publicar un comentario