Principios Esenciales de la Programación Orientada a Objetos

Clasificado en Informática

Escrito el en español con un tamaño de 4,1 KB

Conceptos Fundamentales de la Programación Orientada a Objetos (POO)

El Objeto es una entidad identificable del mundo real. Todos los objetos poseen características, propiedades o atributos.

  • Atributo: Variable que recibe un valor; representa datos sobre el estado del objeto.
  • Método: Conjunto de instrucciones que toman valores de entrada y modifican los valores de los atributos o producen algún resultado; son las acciones que realiza el objeto.

Clases de Objetos

Para crear un objeto es necesario definir una Clase de Objetos. En la definición de la clase se determinan los atributos (propiedades) y los métodos (funciones). Las clases son categorías o grupos de cosas que tienen atributos y métodos similares. Pueden ser:

  • Concretas: Se pueden crear instancias u objetos de ellas.
  • Abstractas: No se crean objetos directamente de ellas; su finalidad es poseer subclases concretas. Se utilizan para definir atributos y métodos comunes a las subclases y se representan en cursiva o llevan una notación específica (dependiendo del lenguaje/diagrama).

Principios Clave de la POO

Abstracción

Indica la selección de las propiedades esenciales de un objeto, eligiendo solo aquellos atributos que son necesarios o relevantes para una aplicación específica, ignorando los detalles irrelevantes.

Especialización y Generalización

  • Especialización: Ocurre cuando una clase puede definirse a través de subclases, las cuales representan objetos más específicos o detallados (relación 'es un tipo de').
  • Generalización: Es el proceso inverso; partiendo de varias clases con datos comunes se obtiene una superclase que los agrupa.

Encapsulación

Consiste en la ocultación de los atributos y métodos internos de una clase al resto del sistema. Los atributos y métodos pueden ser:

  • Públicos (public): No encapsulados; accesibles desde fuera de la clase.
  • Privados (private): Encapsulados; solo accesibles desde la propia clase.

La ocultación se puede clasificar según el alcance:

  • Interna: Atributos y métodos usados únicamente desde la propia clase. Suelen ser privados y se representan con el símbolo -.
  • Externa: Atributos y métodos que pueden ser utilizados fuera de la clase. Suelen ser públicos y se representan con el símbolo +.

Herencia

Implica que una subclase (clase derivada) hereda los atributos y métodos de una superclase (clase base). La clase derivada tiene acceso a los miembros de la clase base.

Tipos de Herencia
  • Simple: Una subclase hereda de una única superclase.
  • Múltiple: Una subclase hereda de más de una superclase (no soportada por todos los lenguajes orientados a objetos).

Polimorfismo

Consiste en la capacidad de implementar varios métodos con el mismo nombre, pero que ejecutan acciones distintas según el contexto o el objeto que los invoca. Esto permite que no haya fallos en la ejecución aunque se llamen de forma idéntica.

Composición (Relación de Parte-Todo)

Se da cuando un objeto está formado por otros objetos (componentes). Se representa gráficamente con un rombo.

Tipos de Composición
  • Composición Fuerte: Los componentes no pueden ser compartidos por otros objetos. La destrucción del objeto principal conlleva la destrucción automática de sus componentes. Se representa con un rombo sombreado.
  • Composición Débil / Agregación: Los componentes pueden ser compartidos por varios objetos. La destrucción del objeto principal no afecta a la existencia de sus componentes. Se representa con un rombo sin sombreado.

Entradas relacionadas: