Documente Academic
Documente Profesional
Documente Cultură
2 Clases.
Un objeto es una instancia de una clase.
Un objeto tiene un estado y uno o varios mtodos.
La estado es privado y puede ser accesado solo su propios
Mtodos.
Objeto
El encabezado de las declaraciones de las funciones miembros deben ser de la siguiente forma:
Tipo clase :: funcin (parmetros)
Por ejemplo
10
Por ejemplo:
Point pt(10,10);
y
fecha hoy(26,4,96);
Cmo debera definirse la clase para que esto ocurra?
Si se declara un mtodo pblico con el mismo nombre de la clase, entonces se puede realizar.
El mtodo con el mismo nombre de la clase y que tiene como objetivo inicializar los objetos que
se declaren de la clase se llaman constructores.
As la clase quedara:
class Point {
int xVal, yVal;
public:
Point(int x, int y) {xVal=x; yVal=y;}
void OffsetPt(int,int);
void PrintPt() ;
};
Notas :
El constructor esta declarado en lnea, pero no es necesario.
El constructor no debe estar precedido por algn tipo o void.
De esta forma ahora podemos declarar,
Sera interesante poder usar la misma clase para crear objetos que permitan manejar puntos en
coordenada polares u otras.
De igual forma poder escribir las fechas de distinta manera.
Para resolverlos se puede hacer uso de la sobrecarga y escribir varios constructores uno para
cada caso. Por ejemplo:
11
Note que como xVal e yVal son declarados enteros, es necesario que la operacin sea
convertida finalmente a enteros.
Podemos crear los siguientes objetos
Point pt (10,10), pt1 (0.0, 0.0), pt2;
As
Pt trabaja en coordenadas cartesianas,
pt1 en coordenadas polares y
pt2 en coordenadas cartesianas pero se inicializa con 0.
De igual manera con los objetos de la clase fecha.
Se podra ingresar fecha de distintas maneras, por ejemplo
en forma int dia, char* mes, int* agno.
2.4 Destructores.
En algunos casos los objetos creados, necesitan espacio en memoria adicional, el cual debe ser
creado en la funcin constructor, por ejemplo crear un arreglo,
Sin embargo, una vez que se deja de usar un objeto, se puede liberar la memoria que usar, para
ello se usa un destructor.
Los destructores tiene el mismo nombre de la clase pero estn precedidos por un tilde (~).
12
13
Una funcin friend puede ser puesta tanto en la parte privada como en la pblica.
Luego la funcin friend queda como sigue,
14
15
Conociendo las propiedades de la clase Punto, se puede describir un crculo como un punto +
un radio y los mtodos de acceso de este. De esta forma
Un crculo es A - Kind - Of punto.
(Un crculo es un tipo de punto)
Sin embargo, un crculo es un poco ms especializado.
La relacin A - Kind - Of es usada a nivel de clases Para esta relacin comnmente se usa
Las clases encerradas dentro de rectngulos.
El nombre de la clase comienza con mayscula
El sentido de la flecha indica la relacin A - Kind - Of.
3.1.2 Relacin Es Un(a) (Is - A relationship)
Si creamos objetos de tales clases, su relacin ser Es - Un(a) (Is - A).
Ya que la clase Circulo es un tipo de Punto, un objeto de Circulo, digamos circulo es un punto.
Consecuentemente, cada crculo se comporta como un punto. Por ejemplo, un punto se puede
mover en la direccin
x alterando el valor de x. De manera similar se puede mover un crculo.
16
17