|
La
Programación Orientada a Objetos (POO) permite
realizar grandes programas mediante la unión de elementos
más simples, que pueden ser diseñados y comprobados
de manera independiente del programa que va a usarlos. Muchos de
estos elementos podrán ser reutilizados en otros programas.
A
estas piezas, módulos o "componentes",
que interactúan entre sí cuando se ejecuta un programa,
se les denomina objetos. Estos objetos
contienen tanto datos como las funciones
que actúan sobre esos datos.
De
ordinario, cada uno de estos objetos corresponde a
algún elemento que debe utilizar el programa. Algunos de
estos elementos representan entidades del mundo real (matrices,
personas, cuentas de banco, elementos mecánicos o eléctricos,
...) y otros pueden ser componentes del ordenador (tanto de software
como de hardware: otro programa, un fichero de disco, una impresora
conectada en una puerta serie, una ventana abierta en la pantalla,
...). También pueden ser estructuras de datos: colas, pilas,
...
Durante
la ejecución del programa, los objetos interactúan
pasándose mensajes y respuestas.
Es fundamental darse cuenta de que un objeto no necesita
conocer el funcionamiento interno de los demás objetos para
poder interactuar con ellos (igual que el hombre no necesita conocer
cómo funciona por dentro un televisor o un ordenador para
poder utilizarlos), sino que le es suficiente con saber la forma
en que debe enviarle sus mensajes y cómo va a recibir la
respuesta (al hombre le puede ser suficiente con saber cómo
funcionan el interruptor, el dial del volumen y los botones de cambio
de canal para utilizar un televisor).
Sucede
a menudo que hay que utilizar varios ejemplares análogos
de un determinado elemento u objeto (por ejemplo varias ventanas
en la pantalla del PC, varios usuarios, varios clientes, varias
cuentas corrientes de un banco, etc.). La definición genérica
de estos objetos análogos se realizar mediante
la clase. Así, una clase contiene
una completa y detallada descripción de la información
y las funciones que contendrá cada objeto de
esa clase. Las clases de C++ se
pueden ver como una generalización de las estructuras
de C. Por ejemplo, en el siguiente código,
|
|
|
se
definen las variables miembro que va a tener la estructura Alumno
y luego se crean dos variables alu1 y alu2 de esa
estructura. En C++ los objetos son las variables concretas
que se crean de una determinada clase. A veces se
llaman también instances o data objects. Las
clases de C++ son como una generalización
de las estructuras de C.
En
C++ las clases son verdaderos tipos de datos definidos
por el usuario y pueden ser utilizados de igual manera que los
tipos de datos propios del C++, tales como int o float.
Los objetos son a las clases como las
variables a los tipos de variables.
Un objeto tiene su propio conjunto de datos
o variables miembro, aunque no de funciones, que aunque
se aplican a un objeto concreto son propias de la clase
a la que pertenece el objeto.
|
|