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 }