Objectif
- Créer une classe enfant par héritage
 - Ajouter des méthodes à une classe enfant
 - Redéfinir des méthodes dans une classe dérivée
 
Partie 1 – Enoncé du problème
Ecrivez une classe Building qui possède les attributs suivants:
- address
 
La classe Building doit disposer des constructeurs suivants :
- Building
 - Building(String adresse)
 
La classe Building doit contenir des getters/setters pour les différents attributs. Elle doit également posséder une méthode toString() héritée de la classe Object pour donner la représentation textuelle de la classe.
Partie 2
Ecrivez une classe House qui hérite de Building avec les attributs supplémentaires suivants
- nRooms
 
La classe House doit disposer des constructeurs suivants :
- House(address, nRooms)
 
La classe House doit également posséder les getters / setters nécessaires à la modifications des attributs. Faites attentions que le nombre de pièces de la maison ne doit jamais être négatif.
Partie 3
Ecrivez le code nécessaire au test de ces deux classes.
Solution
public class Building{
	protected String address;
	
	Building(){
		this(null);
	}
	
	Building(String address){
		this.address = address;
	}
	/**
	 * Getters and setters 
	 */
	public String getAddress() {
		return this.address;
	}
	
	public void setAddress(String s) {
		this.address = s;
	}
	
	@Override
	public String toString() {
		return "This is a building located at " + getAddress();
	}
	
}
public class House extends Building{
	private int nRooms;
	/**
	 * Getters and setters 
	 */
	public void setNRooms(int newNumberOfRooms) {
		this.nRooms = Math.abs(newNumberOfRooms);
	}
	
	public int getNRooms() {
		return this.nRooms;
	}
	
	House(String address, int nRooms){
		super(address);
		setNRooms(nRooms);
	}
	
	@Override
	public String toString() {		
		return super.toString() + " with " + getNRooms() + " rooms";
	}
}
public class Testing {
	public static void main(String[] args) {
		Building b = new Building("Rte de Saly 15");
		House h = new House("Industrie 23", 56);
		h.setNRooms(3);		
		System.out.println(h);
	}
}
			