CLASES Y OBJETOS EN C++
Introduccion.
Un programa se dice modulable cuando utiliza la noción de tipo abstracto de dato (TAD) siempre que sea posible. Si el lenguaje de programación soporta los tipos que desea el usuario y el conjunto de operaciones sobre cada tipo, se obtiene un nuevo tipo de dato denominado TAD.
Objetos.
Los objetos en el mundo real son entidades únicas que tienen propiedades especificas, tales como una posición, un color, un tamaño, una textura, etc., que definen su estado. Por lo tanto en la programación orientada a objetos (POO) definimos a un objeto como una entidad que tiene un estado, un comportamiento y una identidad.
- Su estado esta referido a la propiedades del objeto y como ellas se comportan en ciertos momentos bajo ciertos estímulos. Por ejemplo al agua es un objeto cuyas propiedades pueden pasar del estado solido a liquido o gaseoso bajo ciertas circunstancias que modifiquen sus propiedades.
- Su comportamiento son las acciones que definen como se puede pasar de un estado a otro ya sea de forma gradual o de forma repentina.
- Su identidad se basa en el hecho de que aunque existen miles de copias de un objeto cada una es única y se le puede identificar de manera especifica mediante un nombre o numero.
Funcionalmente un objeto es un ente real o abstracto en el que almacenan datos y métodos (operaciones) que manipulen aquellos datos.
- Datos: son aquellas propiedades que definen al objeto como su color, su temperatura, su textura, etc., en este contexto las variables.
- Métodos: También conocidos interfaz, es un conjunto de operaciones definidas por la clase del objeto que sean todas visibles al programa. La interfaz se puede entonces considerar como una vista simplificada de un objeto.
Clases.
Una clase es una TAD. Las clases son bloques de construcción fundamentales de los programas orientados a objetos.
Una clase contiene la especificación de los datos que describen un objeto junto con la descripción de las acciones que un objeto conoce como ha de ejecutar. Estas acciones se conocen como métodos. Una clase incluye también todos los datos necesarios para describir los objetos creados a partir de la clase. Estos datos se conocen como atributos, variables, o variables de instancia. El termino atributo se utiliza en análisis y diseño orientado a objetos y el termino variable de instancia se suele utilizar en programas orientados a objetos.
Crear una clase y objetos.
En este apartado comenzaremos a crea una programa simple empleando objetos, en nuevos post desarrollaremos mas conceptos acerca de la POO utilizando C++.
Crearemos una clase llamada Persona que define los metodos setPersona(string, int, float) y printPersona( ) y sus variables de instancia llamados nombre, edad y estatura. Esta clase define la "plantilla" de lo que queremos que tenga un objeto (variables de instancia) y como debe manipular esta variables (métodos).
Los objetos se crean en el método main( ) empleando el nombre de la clase seguido de un identificador del objeto (o el nombre del objeto) por ejemplo Persona obj1;
Una vez creando el objeto se pueden crear llamadas a los métodos del objeto empleando el operador punto (".") para asi llamar a los metodos que trabajan con los datos del objeto tal como: obj1.printPersona();
#include <iostream>
using namespace std;
class Persona{
public:
void setPersona(string name, int age, float height){
nombre = name;
edad = age;
estatura = height;
}
void printPersona(){
cout << "Nombre : " << nombre << endl
<< "Edad : " << edad << endl
<< "Estatura: " << estatura << endl << endl;
}
private:
string nombre;
int edad;
float estatura;
};
int main(){
Persona obj1;
Persona obj2;
obj1.setPersona("Juan Perez", 23, 1.69);
obj2.setPersona("Menganito Sanchez", 13, 1.40);
obj1.printPersona();
obj2.printPersona();
return 0;
}
Por tanto se observa que de una clase podemos obtener la plantilla para crear varios objetos que encapsulan propiedades similares pero que pueden comportarse de manera independiente y contener sus propios datos sin la necesidad de conocer los datos de los otros objetos a su alrededor.
La Figura 1 muestra el resultado del programa anterior.
Fig. 1 Resultado del programa |
No hay comentarios:
Publicar un comentario