Clases En C++

Páginas: 11 (2646 palabras) Publicado: 29 de mayo de 2012
Clases y Objetos


Este capitulo introduce a las clases en C++. La clase es la fundación de C++ para el soporte de la programación orientada a objetos, y se encuentra en el núcleo de muchas de sus más avanzadas características. La clase es la unidad básica de C++ de la encapsulación y esta provee el mecanismo por el cual los objetos son creados.

[editar] Fundamentos de Clases

Vamos acomenzar definiendo los términos de clase y objeto. Una clase define un nuevo tipo de dato que especifica la forma de un objeto. Una clase incluye los datos y el código que operarán sobre esos datos. Además, una clase enlaza datos y código. C++ usa una especificación de una clase para construir objetos. Los objetos son instancias de una clase. Además, una clase es esencialmente una serie de planesque especifican cómo construir un objeto. Es importante estar claro en algo: Una clase es una abstracción lógica.

No es hasta que un objeto de esa clase sea creado que la representación física de la clase existe en la memoria. Cuando se define una clase, se declaran los datos que ésta contiene y el código que opera en esos datos. Aunque clases muy simples pueden contener sólo código o sólodatos, la mayoría de las clases en realidad contienen ambos. En conjunto con una clase, los datos se almacenan en las variables y el código en las funciones. Colectivamente, las funciones y variables que constituyen una clase son llamados 'miembros' de la clase. Una variable declarada dentro de una clase es llamada 'variable miembro', y una función declarada en una clase es llamada 'funciónmiembro'. En ocasiones el término 'variable de instancia' es usado en lugar de variable miembro.

Una clase es creada con la palabra clave class. La declaración de una clase es similar sintácticamente a una estructura ( y tienen muchísimo que ver ). Aquí tenemos un ejemplo. La siguente clase define un tipo llamado CRender, el cual es usado para implementar operaciones de renderizado en este caso.
//Esto define la clase CRender
class CRender {
char buffer[256];
public:
void m_Renderizar();
};


Veamos más de cerca esta declaración de la clase.

Todos los miembros de CRender son declarados dentro de la declaración 'class'. La variables miembro de CRender es buffer. La función miembro es m_Renderizar.

NOTA: Por defecto los miembros de una clase son privados.Una clase puede contener miembros privados así como públicos. Por defecto, todos los elementos definidos en una clase son privados. Por ejemplo la variable buffer es privada. Esto significa que sólo pueden acceder a ella otros miembros de la clase CRender, y no por alguna otra parte del programa. Esta es una forma de como la encapsulación se logra, se puede controlar el acceso a ciertos elementosde datos manteniendolos privados. Aunque no hay ninguna en este ejemplo, se pueden definir funciones privadas, las cuales pueden ser llamadas solamente por otros miembros de la clase.

Para hacer pública una parte de la clase ( accesible a otras partes del programa ) se deben declarar con la palabra clave public. Todas las variables o funciones definidas después de la declaración pública sonaccesibles por todas las demas funciones en el programa. En nuestra clase CRender, la función m_Renderizar() es pública. Tipicamente, su programa accederá a los miembros privados de una clase a través de sus funciones públicas. Note que la palabra clave public es seguida con : . Mantenga en mente que un objeto forma una relación entre código y datos. Una función miembro tiene acceso a los elementosprivados de su clase. Esto significa que m_Renderizar tiene acceso a buffer en nuestro ejemplo. Para añadir una función miembro a la clase, debe espcificar su prototipo en la definición de la misma.

Una vez que se ha definido una clase, se puede crear un objeto de ese tipo usando el nombre de la clase. El nombre de la clase se convierte en un especificador del nuevo tipo. Por ejemplo la...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • CLASES EN C
  • Clases en C#
  • Clases en c++
  • clase c
  • Clases en c#
  • clases c++
  • Fundamentos de Clases en C++
  • El transistor en clase a, b y c.

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS