Diario de un Aprendiz de Java

Monday, May 23, 2005

Ejercicios básicos

Buscando por la red he encontrado unos ejercicios propuestos de clases y objetos, y he empezado a hacerlos. Son parte de la asignatura de Programación Orientada a Objetos de la Universidad de Murcia. Podeis encontrar su página web en este enlace. En la parte teórica de la asignatura se trabaja con los lenguajes orientados a objetos Eiffel, C++ y Java, pero las prácticas se entregan solo en este último, Java.

El enunciado de lo primero que he hecho dice asi :

1.- Implementar la clase Posicion que represente un punto (x,y) en el eje de las coordenadas. Cada posición viene definida por dos valores enteros x e y. Las operaciones disponibles son:

    · Constructor por defecto, se corresponde con la posición (0,0).
    · Constructor al que se le pasa como parámetro los valores inciales de las coordenadas X e Y.
    · Constructor de copia.
    · Métodos para modificación y consulta (set/get) de los atributos de la clase.
    · Métodos para incrementar y decrementar los valores de cada una de las coordenadas de la posición (incX, incY, decX, decY).
    · Un método para establecer los valores de las coordenadas (setXY).


Y siguiendo este enunciado, he escrito este codigo

class Posicion {
  int x, y;

/*Constructor por defecto*/
  Posicion() {
   this.x = 0;
   this.y = 0;
  }

/*Constructor al que se le pasa como parámetro los valores
iniciales de las coordenadas X e Y.*/
  Posicion(int x, int y) {
   this.x = x;
   this.y = y;
  }

/*Métodos para modificación y consulta*/
  void setX(int x) {
   this.x = x;
  }

  void setY(int y) {
   this.y = y;
  }

  int getX() {
  return x;
  }

  int getY() {
   return y;
  }

/* Métodos para incrementar y decrementar los atributos*/
  void incX() {
   x++;
  }

  void incY() {
   y++;
  }

  void decX() {
   x--;
  }

  void decY() {
   y--;
  }

/*Método para establecer los valores de las coordenadas*/
  void setXY(int x, int y) {
   this.x = x;
   this.y = y;
  }
}


Como veis, lo único que me falta es el constructor de copia, pero es algo que no he hecho nunca y aún desconozco. Queda en la lista de cosas TO-LEARN (pero en la lista que realmente se va siguiendo, no el otra en la que dejas los temas imposibles .. xD).
¡Aprovecho para pedir rectificaciones y/o ayudas en el codigo, se agradece mucho si alguien lo revisa! ¡Saludos!

11 Comments:

Post a Comment

<< Home