Conceptos Programacion
Conceptos Programacion
Una clase es en general un modelo, receta o plantilla que define el estado y comportamiento
de cierto tipo de objetos. Una clase puede pensarse como una colección de variables
(atributos o propiedades) y funciones (métodos) que permiten representar un conjunto de
datos y especificar las operaciones o procedimientos que permiten manipular tales datos. Se
puede inclusive entender una clase como un tipo de dato personalizado, similar a las
estructuras (structs), donde cada programador define los miembros que va a tener su tipo de
dato. De hecho, los tipos de dato nativos de C++ son en realidad clases.
Desgraciadamente, la división entre interfaz e implementación no es tan limpia en C++ como
en el seudocódigo. Las clases se definen en C++ mediante una construcción class dividida
en dos partes: una parte privada (private) que contiene algunos detalles de la
implementaci´on, y una parte pública (public) que contiene todo el interfaz.
class NombreClase {
private:
// implementacion de la clase
// solamente los atributos
public:
// interfaz de la clase
};
En la parte privada de la construcción class aparecen solo los atributos de la clase y algunos
tipos intermedios que puedan ser necesarios. En C++, la implementación de los métodos de
la clase se facilita aparte. En la parte publica, suelen aparecer solamente las declaraciones
(cabeceras) de los métodos de la clase. Por ejemplo, la siguiente es una definición de la clase
C complejo que representa números complejos:
class CComplejo {
private:
// atributos
double real, imag;
// los metodos se implementan aparte
public:
void asigna_real(double r);
void asigna_imag(double i);
double parte_real();
double parte_imag();
void suma(const CComplejo& a, const CComplejo& b);
};
Los campos real e imaginarios son los atributos de la clase y codifican el estado de un objeto
de la clase C complejo. Puesto que los atributos están declarados en la parte privada de la
clase, forman parte de la implementación y no es posible acceder a ellos desde fuera de la
clase. Su acceso está restringido: solo se puede acceder a ellos en la implementación de los
métodos de la clase.
Atributos.
Microsoft define un conjunto de atributos de C++ que simplifican la programación COM
.NET Framework desarrollo de Common Language Runtime. Al incluir atributos en los
archivos de código fuente, el compilador trabaja con archivos DLL de proveedor para insertar
código o modificar el código en los archivos de objeto generados. Estos atributos ayudan a
crear archivos .idl, interfaces, bibliotecas de tipos y otros elementos COM. En el entorno de
desarrollo integrado (IDE), los asistentes y la ventana Propiedades admiten los atributos.
Aunque los atributos eliminan parte de la codificación detallada necesaria para escribir
objetos COM, necesita un fondo en aspectos básicos de COM para usarlos mejor.
Objetivo de los atributos
Los atributos extienden C++ en direcciones que no son posibles actualmente sin romper la
estructura clásica del lenguaje. Los atributos permiten a los proveedores (archivos DLL
independientes) ampliar dinámicamente la funcionalidad del lenguaje. El objetivo principal
de los atributos es simplificar la creación de componentes COM, además de aumentar el nivel
de productividad del desarrollador de componentes. Los atributos se pueden aplicar a casi
cualquier construcción de C++, como clases, miembros de datos o funciones miembro. A
continuación, se muestra un aspecto destacado de las ventajas que proporciona esta nueva
tecnología: