Programación Orientada a Objetos
¿Qué es?
Es un paradigma de programación en la que los objetos se utilizan como metáfora para emular las entidades reales del negocio a modelar. Está basada en varias técnicas como la herencia, abstracción, polimorfismo, acoplamiento, encapsulamiento y cohesión.
Conceptos fundamentales
Clase
Es una plantilla en la que se definen los atributos y métodos (acciones) de un objeto. Estas plantillas se crean para que podamos definir objetos. A la creación de objetos por medio de las clases se le conoce como instanciación.
Objeto
Es la instancia de una clase. Es una entidad que tiene propiedades (atributos) y un comportamiento (métodos). Son representaciones de objetos reales e interactúan con objetos internos del sistema. Sus propiedades son: Nombre, Atributos y Métodos.
Herencia
Se suele llamar así cuando una clase padre hereda sus atributos y métodos a una clase hija, junto con el polimorfismo son la esencia de la Programación Orientada a Objetos.
Método
Es un algoritmo que se asocia a un objeto, su ejecución se desencadena después de recibir un "mensaje". Un método es parte del comportamiento o funcionalidad de un objeto.
Atributo
El conjunto de estos son las propiedades que posee un objeto.
Mensaje
Es la comunicación que hay entre objetos. Por medio de este un objeto le indica a otro que ejecute alguno de sus métodos con ciertos atributos.
Características
Abstracción
Se encarga de señalar las características esenciales de un objeto, para capturar su comportamiento. Los objetos sirven para realizar un trabajo, informar y cambiar su estado, y para comunicarse con otros objetos por medio de mensajes.
Encapsulamiento
Reúne los elementos de un objeto que se consideren de una misma entidad, esto permite aumentar la cohesión de los componentes del sistema.
Herencia
Se encarga de organizar y facilitar el polimorfismo y encapsulamiento, de este modo permite crear objetos como tipos especiales de objetos predefinidos. Estos heredan las propiedades y comportamiento de su clase padre sin necesidad de volver a implementarlos
Polimorfismo
Son comportamientos diferentes de un objeto pero perteneciente a un mismo tipo de objetos, trabaja en conjunto con la herencia.
Recolección de basura
El recolector de basura se encarga de destruir automáticamente objetos que ya no se estén ocupando y de esta manera liberar memoria. El programador no debe preocuparse por la asignación o liberación de memoria.
Lenguajes de programación Orientados a Objetos
- Java
- C#
- C++
- Fortran
- JavaScript
- Objetive-C
- R
- Perl
- PHP
- Python
- Ruby
- Swift
- Visual Basic
- Scala
- Entre otros
Top comments (0)