Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Robustes
Cambios
Error de manipulacin
Modularidad
Lisibilidad
Mantenabilidad
De encapsulacin
De abstraccin
De herencia
y de polimorfismo
clase
tipo (abstraccin)
existencia conceptual
(escritura del programa)
objetos/instancias
variables en memoria
existencia concreta
(ejecucin del programa)
Ejemplo:
Los atributos ancho y largo, de tipo double, de la clase Rectangle
podran ser declarados por:
class Rectangle{
double ancho;
double largo;
};
Ejemplo :
El valor del atributo largo de una instancia rect1 de la clase Rectangle
ser referenciado por la expresin:
rect1.largo
class Rectangle {
//...
Lic. Martn Cruz Salazar Lenguaje C++ - CTIC.UNI 16
Declaracin de los mtodos
double area()
{
return largo * ancho;
}
};
class Rectangle {
//...
double area()
{
return largo * ancho;
}
}; Lic. Martn Cruz Salazar Lenguaje C++ - CTIC 19
Parmetros de los mtodos
Pero no es porque no tenemos necesidad de pasar los atributos
de la clase como argumentos en los mtodos de esta clase, que
los mtodos nunca tienen parmetros.
Los mtodos pueden tener parmetros : aquellos que son
necesarios (y por tanto exteriores a la instancia) para ejecutar el
mtodo en cuestin !
Ejemplo : class FigureColoree {
// ...
void colorie(Color c) { /* ... */ }
// ...
};
FigureColoree una_figura;
Color rojo;
// ...
una_figura.colorie(rojo);
Lic. Martn Cruz Salazar Lenguaje C++ - CTIC 20
Definicin externa de los mtodos
Es posible de escribir las definiciones de los mtodos al exterior de la
declaracin de la clase
Legibilidad del cdigo, modularizacin.
Para conectar la definicin de un mtodo a la clase para la que se
define, slo tiene que utilizar el operador :: de resolucin de
mbito.
La declaracin de la clase contiene los prototipos de los mtodos.
Definiciones correspondientes especificados fuera de la
declaracin de la clase son de la forma:
class Rectangle {
double area() const;
private:
double largo;
double ancho;
};
Atributo de instancia privada = inaccesible desde fuera de la clase.
Esto tambin se aplica a los mtodos.
Nota: Si no se especifica el acceso, es privada de forma
predeterminada.
int main()
{
complex a, b, c;
cout << "Ingrese a y b donde a + ib es el primer numero complejo.";