Saltar al contenido.

Programación orientada a objetos


¿Qué es un paradigma de programación?

Define un estilo de programación, esto no se refiere a ningún lenguaje de programación en específico, existen múltiples estrategias o formas de resolver un problema, a estas se les conoce como paradigmas, a continuación algunos de los más populares:

  • Programación orientada a eventos
  • Programación orientada a objetos
  • Programación orientada a aspectos
  • Programación funcional
  • Programación imperativa
  • Programación funcional

Cada lenguaje de programación tiene soporte para uno o más de estos paradigmas, por esto que es importante que conozcas los conozcas y aprendas sus conceptos principios y reglas.

¿Qué es la programación orientada a objetos?

Es el paradigma principal soportado por Java basado principalmente en interacción entre objetos, a continuación se listan sus principales conceptos, principios y reglas.

Conceptos

  • Clases: Cuando se escribe código en Java se escribe sobre clases o interfaces, en las clases es posible definir :
    • Atributos : Las características se definen a través de atributos, pueden ser definidos a través de tipos de datos primitivos o a través de otros objetos.
    • Métodos : Los comportamientos son definidos a través de métodos.
  • Objetos: Los objetos se crean a través de clases y mantiene dos cosas principalmente estado y comportamiento. Una clase se puede utilizar para crear muchos objetos.

Principios

  • Encapsulamiento: Define la interacción entre los objetos, se consigue cuando los objetos mantienen su estado privado y exponen métodos que permiten modificarlo.
  • Abstracción: La abstracción es una extensión del encapsulamiento y define que un objeto solo debe exponer los mecanismos necesarios para utilizarlo y ocultar los detalles de implementación. Si pensamos en un objeto de tipo “Auto” que será utilizado por un objeto de tipo “Persona”, el auto solo deberá exponer comportamientos como “encender”, “acelerar”, “frenar”, “cambiar velocidad”, etc. y no los comportamientos específicos como “pasar corriente”, “iniciar marcha”, “verificar niveles”, etc.
  • Herencia: Algunas veces los objetos son muy similares entre ellos pero no completamente iguales, la herencia permite compartir algunas funcionalidades entre los objetos a través de clases padres e hijas, existe una regla que nos ayuda a determinar cuando se puede aplicar herencia llamada “IS A (ES UN)” a continuación algunos ejemplos de su uso:
    • Coche ES UN Vehículo – SI – Coche puede heredar de Vehículo
    • Avión ES UN Vehículo – SI – Avión puede heredar de Vehículo
    • Coche ES UN Avión – NO – Coche NO puede heredar de Avión
    • Animal ES UN Perro – NO – Animal NO puede heredar de Perro
    • Perro ES UN Animal – SI – Perro puede heredar de Animal
  • Polimorfismo: Polimorfismo significa muchas formas y está muy relacionado con el concepto de herencia, pensemos en el siguiente ejemplo, se tiene la clase Animal y múltiples subclases Perro, Ave, Gato, Águila, etc. El polimorfismo nos permite lo siguiente:
    • Animal ES UN Animal – Entonces es posible hacer Animal a=new Animal();
    • Perro ES UN Animal – Entonces es posible hacer Animal a=new Perro();
    • Ave ES UN Animal – Entonces es posible hacer Animal a=new Ave();
    • Águila ES UN Animal – Entonces es posible hacer Animal a=new Águila();
    • Águila ES UN Ave – Entonces es posible hacer Ave a=new Aguila();
  • De igual modo es posible hacer uso de arreglos y colecciones utilizando este concepto, a continuación un ejemplo:
    • Animal array[]={new Perro(), new Ave(), new Aguila(), new Gato()};
  • La limitante que se tiene es que solo se podrán invocar los métodos definidos en la referencia, en el ejemplo los métodos definidos en la clase animal.

Si te gusta el contenido y quieres enterarte cuando realicemos un post nuevo síguenos en nuestras redes sociales.

Autor: Alejandro Agapito Bautista
Twitter: @raidentrance

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

A %d blogueros les gusta esto: