¿QUE ES LA PROGRAMACIÓN ORIENTADA A OBJETOS?
En la programacion estructurada todos los programas tienen las estructuras secuencial, repetitiva o condicional. Tambien se utilizan los Tipos de datos abstractos como es un ejemplo
tydef struct{
int x, y;
int color;
} punto;
struct punto a,b;
luego se implementan las funciones de este TAD(pila_vacia,pila_llena)
En c++ se definen los TAD y las funciones o procedimientos y datos dentro de un mismo conjunto llamado clase (class) . En el ejemplo el typedef struct punto seria el equivalente en C de la clase de C++ y las variables a y b de los objetos en C++.
CLASES ( CLASS )
Antes de poder definir un objeto debemos definir la clase a la que pertenece ( igual
que en el ejemplo anterior debemos definir antes la estructura punto para luego
poder definir las variables a y b ). La forma general de describir una clase seria mas
o menos:
class nombre_clase {
datos y funciones privados;
public:
datos y funciones publicos;
funcion constructora;
funcion destructora;
};
Los datos y funciones privados son los que no se puede acceder a ellas desde las
funciones que son miembros de la clase ( que estan definidas en ella ), se
comportan igual que las variables definidas localmente en una funcion en C normal.
En cambio, los datos y las funciones publicas son accesibles por todas las funciones.
del programa ( igual que si estuviesen definidas las varibles globalmente en C
normal ).
Por defecto, en una clase se define todos los datos y funciones privados, a menos
de que le especifiquemos las que son publicas con la instruccion public.
Para saber si una funcion debe ser definida publica o privada, debemos ver si el
resto del programa necesita “conocer como funciona” dicha funcion. Si la respuesta
es “si” entonces la funcion debe ser publica, en caso contrario debe ser privada.
Como despues de leer este rollo no te habras enterado ( con esta explicacion no me
extraña ), un ejemplo:
-Vamos a crear la clase CRONOMETRO:
class CRONOMETRO{
struct time tm; // Variable que coge la hora del sistema
int andando;
void dif_tm(time tr, time ts, time *dif);
public:
void Arranca(void);
void Muestra(void);
void Para(void);
};
CRONOMETRO p; (p sera un objeto de la clase cronometro);
La funcion dif_tm es privada porque al resto del programa no le interesa acceder a
ella, en cambio es las funciones Arranca, Muestra y Para si pueden acceder a ella
porque necesitan saber la diferencia entre dos tiempos ( sobre todo la funcion
Muestra, que es la que muestra dicha diferencia). Para llamar a una funcion de la
clase desde una parte del programa que no pertenece a dicha clase, se utiliza
nombre_objeto.funcion.
Programacion en C++
Comentarios
Publicar un comentario
Hola que tal,dime tu opinión