Fundamentos de Programación Orientada a Objetos: Conceptos y Sintaxis

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en con un tamaño de 2,7 KB

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

  • Objeto: Estructura de datos que contiene sus procedimientos y los datos sobre los que operan dichos procedimientos.
  • Atributo o Propiedad: Valor que sirve para diferenciar entre dos objetos de la misma clase.
  • Método: Función que define el comportamiento del objeto. Indica lo que el objeto es capaz de hacer.

Método Gramatical de Booch

Para la identificación de elementos mediante requerimientos en prosa:

  • Sustantivos: Objetos.
  • Adjetivos: Atributos.
  • Verbos: Métodos.

Pilares de la POO

  • Clase: Estructura de datos que contiene las características comunes a varios objetos (atributos y métodos).
  • Herencia: Capacidad de los objetos de heredar automáticamente los atributos y métodos de la clase de la cual provienen.
  • Encapsulamiento: Consiste en proteger las variables de clase de los accesos directos.
  • Polimorfismo: Propiedad de los métodos de comportarse de forma diferente dependiendo del objeto que los invoque.

Modificadores de Acceso y Propiedades

  • Protected: Solo puede ser accedido por clases hijas.
  • Private: Los atributos y métodos son para uso exclusivo de la clase declarada.
  • Public: La clase es visible para todas las clases, independientemente de los paquetes que las contengan.
  • Final: No se pueden crear subclases.
  • Abstract: La clase contiene métodos polimórficos.
  • Interface: Indica que la clase se compone de un conjunto de métodos que no están implementados.
  • Variable static: Mantiene su valor entre llamadas y es común a todas las clases, dependiendo del número de instancias creadas.

Sintaxis en C++

#include <iostream>

class NombreClase {
protected:
    // Miembros protegidos
private:
    tipoDeDato nombreObjeto;
public:
    void setNombreObjeto(tipoDeDato parametro) { nombreObjeto = parametro; }
    tipoDeDato getNombreObjeto() { return nombreObjeto; }
    virtual void nombreObjeto();
    void nombreObjeto(tipoDeDato parametro) {
        // Implementación
    }
};

// Creación de objeto
NombreClase* nombreObjeto = new NombreClase(parametroConstructor);

// Acceso
nombreObjeto->nombreMetodo(parametro);

Definición de Clase

[modificador de clase] class nombreClase { // Cuerpo de la clase }

Entradas relacionadas: