La Programación
Orientada a Objetos (POO u OOP) es un paradigma de programación
que define los programas en términos de “clases de objetos”, objetos que son
entidades que combinan estado (propiedades o datos), comportamiento (procedimientos
o métodos) e identidad (propiedad
del objeto que lo diferencia del resto).
La
programación orientada a objetos expresa un programa como un conjunto de estos
objetos, que colaboran entre
ellos para realizar tareas. Esto permite hacer los programas y módulos más
fáciles de escribir, mantener y reutilizar.
Conceptos fundamentales
La programación orientada a objetos
es una forma de programar que trata de encontrar una solución a estos
problemas. Introduce nuevos conceptos, que superan y amplían conceptos antiguos
ya conocidos. Entre ellos destacan los siguientes:
- Objeto
Instancia
de una clase. Entidad provista de un conjunto de propiedades o atributos
(datos) y de comportamiento o funcionalidad (métodos), los mismos que
consecuentemente reaccionan a eventos. Se corresponden con los objetos reales
del mundo que nos rodea, o con objetos internos del sistema (del programa). Es
una instancia a una clase.
- Método
Algoritmo asociado a un objeto (o a una clase de objetos), cuya
ejecución se desencadena tras la recepción de un "mensaje". Desde el
punto de vista del comportamiento, es lo que el objeto puede hacer. Un método
puede producir un cambio en las propiedades del objeto, o la generación de un
"evento" con un nuevo mensaje para otro objeto del sistema.
- Evento
Es un suceso en el sistema (tal como una interacción del usuario con la
máquina, o un mensaje enviado por un objeto). El sistema maneja el evento
enviando el mensaje adecuado al objeto pertinente. También se puede definir
como evento la reacción que puede desencadenar un objeto; es decir, la acción
que genera.
- Propiedad o atributo
Contenedor de un tipo de datos asociados a un objeto (o a una clase de
objetos), que hace los datos visibles desde fuera del objeto y esto se define
como sus características predeterminadas, y cuyo valor puede ser alterado por
la ejecución de algún método.
- Clase
Definiciones
de las propiedades y comportamiento de un tipo de objeto concreto
- Instanciamiento
La Instanciación es la lectura de estas definiciones y la creación de un objeto a partir de ellas, cuando se instancia o crea una instancia de una clase, lo que se hace es reservar una porción determinada de memoria en la que se almacenarán los datos, y las direcciones de memoria de sus métodos, etc.
- Polimorfismo
En programación
orientada a objetos, el polimorfismo se refiere a la propiedad por la que
es posible enviar mensajes sintácticamente iguales a objetos de tipos distintos. El único requisito que
deben cumplir los objetos que se utilizan de manera polimórfica es saber
responder al mensaje que se les envía.
La apariencia del
código puede ser muy diferente dependiendo del lenguaje que se utilice, más
allá de las obvias diferencias sintácticas
.
- Encapsulamiento
En programación
modular, y más específicamente en programación
orientada a objetos, se denomina encapsulamiento al ocultamiento del estado, es decir,
de los datos miembro de un objeto de manera que sólo se pueda cambiar mediante
las operaciones definidas para ese objeto.
Cada objeto está aislado del exterior, es un
módulo natural, y la aplicación entera se reduce a un agregado o rompecabezas
de objetos. El aislamiento protege a los datos asociados de un objeto contra su
modificación por quien no tenga derecho a acceder a ellos, eliminando efectos
secundarios e interacciones.
No hay comentarios:
Publicar un comentario