La 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. Las características siguientes son las más importantes:

ABSTRACCIÓN

Esta propiedad permite distinguir a un objeto de los demás, observando sus características y comportamientos, pensando en qué es y no en cómo se codificaría en un lenguaje. Con la abstracción se destaca lo importante y se ignora lo irrelevante, o sea, hay ocultamiento de informació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.

ENCAPSULAMIENTO

El encapsulamiento hace referencia al ocultamiento de información, datos o funciones especiales a los usuarios. El encapsulamiento es lo que permite que tanto la estructura (atributos, campos) como el comportamiento (métodos, acciones) se encuentren dentro del mismo cuerpo de código de la clase con la que se crean los objetos.

Dentro de la clase se deben agrupar tanto la información o datos de los campos como las operaciones, métodos o funciones que operan sobre esta información. Esto significa reunir a todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstracció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.

El encapsulamiento permite: ocultar detalles de implementación, simplificar el programa, minimizar el impacto del cambio y garantizar integridad de los datos.

BUENA PRÁCTICA: los atributos deben ser privados o protegidos y se debe acceder a ellos a través de los métodos que pueden ser públicos.

POLIMORFISMO

Esta propiedad indica que un elemento puede tomar distintas formas. Podemos definirlo como el uso de varios tipos en un mismo componente o función. O sea, 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.

HERENCIA

Utilizando la herencia es posible definir una nueva clase basándose en una clase ya existente. La nueva clase añade nuevos métodos y/o campos a los de la clase ya existente. Se dice que la nueva clase EXTIENDE la clase padre. Estos pueden compartir (y extender) su comportamiento sin tener que volver a implementarlo. Cuando un objeto hereda de más de una clase se dice que hay herencia múltiple. La herencia facilita la reutilización de código y la abstracción.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *