Con la tecnología de Blogger.

Composición, la clase rectangulo

La clase Rectangulo tiene como miembros dato, el origen que es un objeto de la clase Punto y las dimensiones ancho y alto.

public class Rectangulo {
Punto origen;
int ancho ;
int alto ;
//funciones miembro
}

El constructor por defecto, crea un rectángulo situado en el punto 0,0 y con dimensiones nulas:

public Rectangulo() {
origen = new Punto(0, 0);
ancho=0;
alto=0;
}

El constructor explícito crea un rectángulo situado en un determinado punto p y con unas dimensiones que se le pasan en el constructor

public Rectangulo(Punto p, int w, int h) {
origen = p;
ancho = w;
alto = h;
}

Podemos definir otros constructores en términos del constructor explícito usando la palabra reservada this.

public Rectangulo(Punto p) {
this(p, 0, 0);
}
public Rectangulo(int w, int h) {
this(new Punto(0, 0), w, h);
}

El primero crea un rectángulo de dimensiones nulas situado en el punto p. El segundo, crea un rectángulo de unas determinadas dimensiones situándolo en el punto 0, 0. Dentro del cuerpo de cada constructor se llama al constructor explícito mediante this pasándole en sus parámetros los valores apropiados.
Para desplazar un rectángulo, trasladamos su origen (esquina superior izquierda) a otra posición, sin cambiar su anchura o altura. Desde el objeto origen, llamamos a la función desplazar miembro de la clase Punto.

void desplazar(int dx, int dy) {
origen.desplazar(dx, dy);
}

El código completo de la nueva clase Rectangulo, es el siguiente.

public class Rectangulo {
Punto origen;
int ancho ;
int alto ;
public Rectangulo() {
origen = new Punto(0, 0);
ancho=0;
alto=0;
}
public Rectangulo(Punto p) {
this(p, 0, 0);
}
public Rectangulo(int w, int h) {
this(new Punto(0, 0), w, h);
}
public Rectangulo(Punto p, int w, int h) {
origen = p;
ancho = w;
alto = h;
}
void desplazar(int dx, int dy) {
origen.desplazar(dx, dy);
}
int calcularArea() {
return ancho * alto;
}
}
Share on Google Plus

Sobre Rafa

Soy un apasionado de las nuevas técnologias, Internet, los videojuegos, la cultura japonesa y de USA.
    Blogger Comment
    Facebook Comment

0 comentarios:

Publicar un comentario

Gracias por comentar ;-)