lunes, 15 de agosto de 2016

Capítulo 63. C++: Definiendo una clase


Diario de un programador.- Día 160

Definiendo una clase


De ahora en adelante, se presentarán pequeños cambios en la forma en que se crearán los programas. Se pasará de la programación estructurada a la programación orientada a objetos. La programación orientada a objetos es otro estilo de programación, donde todo se considera un objeto, con lo cual se facilita la construcción de programas. Quizás al principio parezca algo complejo, pero con el tiempo se le toma el truco. Así que a partir de ahora, (al menos en c++) los tutoriales serán muy parecidos a los mostrados en Java, donde se habla de clases, atributos, objetos etc.
Una de las principales características de este tipo de programación es la existencia de clases. Una clase, a grandes rasgos se puede considerar como un conjunto de funciones.
A continuación, se mostrará cómo crear una clase, la cual contiene una función que muestra un mensaje. La idea de este ejemplo, es poder acceder a esa función.

Antes de presentar la clase, voy a mostrar la siguiente instrucción:


using std::cout;


Esto es para evitar tener que escribir std::cout  cada vez que se necesite escribir en pantalla. En su lugar, se puede escribir simplemente cout. De esta manera, la instrucción:

std::cout << "hola mundo";

Se podrá escribir:

cout << "Hola mundo";

De la misma manera, si se agrega la instrucción using std::cin; produce el mismo efecto.
Volvamos al tema de las clases.

La estructura de una clase es la siguiente:

NombreClase{
            instrucciones
};
Notar que después del cierre de llave } se debe colocar un punto y coma ;



Ejemplo:


Lo siguiente es crear un modificador de acceso dentro de la clase.

public:

Este modificador de acceso, permite que las funciones de la clase estén disponibles para ser utilizadas por otras funciones, como por ejemplo "main".


Lo siguiente a incluir en la clase es la función que permite mostrar un mensaje en pantalla

void mostrarMensaje(){
            cout << "Hola mundo" << endl;
}


Con esto concluye la creación de la clase. Como se puede apreciar, la clase "Mensaje" solamente tiene una función.

Lo siguiente a realizar, es crear la función main. La cual se crea fuera de la clase.
int main(void){

  return 0;
}


Dentro de la función main, se va a crear un objeto de la clase "mensaje", el cual permitirá poder llamar a su función "mostrarMensaje". La sintaxis para crear un objeto es la siguiente:

nombreClase nombreObjeto;

nombreClase, corresponde a la clase que voy a llamar, en este caso, la clase "Mensaje", nombreObjeto, corresponde al nombre que le voy a dar al objeto, puede ser cualquier nombre, pero el nombre a escoger debe seguir la misma regla que los nombres aceptados para crear variables. En otras palabras, no debe empezar con números, ni contener espacios etc. En este caso, voy a utilizar el nombre "miMensaje". De esta forma, la creación del objeto quedaría así:

Mensaje miMensaje;


Por último, lo que haré será mostrar la función "mostrarMensaje" del objeto. Para mostrar una función de un objeto, se utiliza la siguiente sintaxis:

nombreObjeto.nombreFuncion();

nombreObjeto, como dije antes corresponde al nombre que posee el objeto, seguido de un punto se debe colocar el nombre de la función que se desea ejecutar. En este caso, la llamada a la función quedará de la siguiente manera:

miMensaje.mostrarMensaje();


Ahora solamente queda compilar el trabajo y si todo salió bien, entonces se mostrará el mensaje "hola mundo"

¿Tanto código solo para escribir “hola mundo”?... pues sí, pero esto es solo un ejemplo muy básico de lo que se puede lograr. Lo interesante de esto es que las clases pueden estar en distintos archivos, lo que da paso a la programación modular, que en síntesis significar dividir el programa para hacerlo más fácil de programar, depurar, mantener, actualizar etc. Más información aquí:
Esto es todo por ahora, solo queda practicar y crear muchas clases y ver que hacen, como mezclarlas con distintas funciones etc. Esto del aprendizaje autodidacta depende mucho de las ganas que uno le ponga y no olvidar el motivo por el cual uno quiere aprender a programar. En mi caso particular, lo que me motiva es aprender a desarrollar videojuegos y alguna que otra aplicación para celular y pc.
Nos vemos en la próxima entrega. Saludos

Gustavo J. Cerda Nilo
Marzo 2016, Agosto 2016





No hay comentarios:

Publicar un comentario

C++ El apuntador This

El apuntador This En C++, cada objeto tiene acceso a su propia dirección a través de un puntero o apuntador denominado This. Lo...