Simulazione di verifica di laboratorio di Informatica (3E)

  1. Creare la classe Rettangolo avente i seguenti 4 attributi privati: x, y, larghezza, altezza che rappresentano le coordinate dell’angolo in basso a sinistra del rettangolo, la larghezza e l’altezza di tipo virgola mobile a doppia precisione.
  2. Creare 3 tipi di costruttori: il primo senza parametri che assegna i valori predefiniti 0, 0, 0, 0; il secondo con 2 parametri larghezza e altezza, x e y hanno valori predefiniti 0 e 0; il terzo con tutti i parametri.
  3. Creare i getter e i setter per tutti gli attributi controllando che larghezza e altezza non siano negativi; non ci sono limitazioni su x e y.
  4. Creare i metodi standard toString, equals e clone.
  5. Creare Scatola sottoclasse di Rettangolo avente ulteriori attributi: vuoto di tipo logico, colore di tipo stringa.
  6. Creare 3 tipi di costruttori: il primo senza parametri che assegna i valori predefiniti 0, 0, 0, 0, false, “nero”; il secondo con 2 parametri larghezza e altezza, gli altri hanno valori predefiniti 0 e 0, false, “nero”; il terzo con tutti i parametri.
  7. Creare i getter e i setter per i nuovi attributi controllando che colore rientri in uno dei possibili colori definiti come costanti all’interno della classe; BLACK = “nero”, WHITE = “bianco”, YELLOW = “giallo”, RED = “rosso”, CYAN = “azzurro”.
  8. Riscrivere i metodi toString, equals e clone.
  9. Aggiungere alla classe Rettangolo i metodi:

public boolean contiene(double xP, double yP)
che restituisce true nel caso in cui il rettangolo corrente contiene il punto di coordinate xP e yP

public boolean contiene(Rettangolo r)
che restituisce true nel caso in cui il rettangolo corrente contiene interamente il rettangolo r passato come parametro

  1. Creare la classe Main che crea r1 = Rettangolo(1.0, 2.0, 5.5, 3.2), r2 = Rettangolo(1.0, 2.0); li clona entrambi in r3 ed r4; modifica le dimensioni di r4 in larghezza = 2.0 e larghezza = 1.0; crea s = Scatola(…) con le stesse misure di r1, non vuota e gialla; controllare se il rettangolo r4 è contenuto interamente in r1.

Parziale soluzione: Rettangoli.zip