1°/ Le jeu de la vie

L'objectif est de modéliser la rencontre entre des humains et de faire évoluer une population. Pour cela, on va définir une hiérarchie simple de classes : Humain, Homme, Femme.

ATTENTION ! Les principes de la programmation objet devront être suivi au maximum, notamment en terme de réutilisation de code. Par exemple, dans le cas de méthodes de la classe Humain redéfinies dans les classe Homme et Femme, on s'efforcera, quand c'est possible, de ne pas réécrire totalement ces méthodes en appelant celle de la super classe.

1.1°/ La classe Humain

Créer le fichier Humain.java à partir du canevas suivant :

import java.io.*;
import java.util.*;

public class Humain {

    protected static Random loto = new Random(Calendar.getInstance().getTimeInMillis());
    protected int age;
    protected int poids;
    protected String nom;
    protected int esperanceVie;

    Humain(String nom) {

	// a compléter
    }

    Humain(int age, int poids, String nom) {

	// à compléter
    }

    void setNom(String nom) {
	// à compléter
    }

    void setAge(int age) {
	// à compléter
    }

    void setPoids(int poids) {
	// à compléter
    }

    int getAge() {
	// à compléter
    }

    int getPoids() {
	// à compléter
    }

    String getNom() {
	// à compléter
    }

    protected void setEsperanceVie() {
	// à compléter
    }

    public void vieillir() {
	// à compléter
    }

    public void grossir(int p) {
	// à compléter
    }

    public boolean isDead() {
	// à compléter
    }

    public void print() {
	// à compléter
    }
}

Pour compléter le code :

1.2°/ la classe Femme

Créer le fichier Femme.java à partir du canevas suivant :

import java.io.*;

public class Femme extends Humain {

    private int fertilite;

    Femme(String nom) {
	// à compléter
    }

    Femme(int age, int poids, String nom, int fertilite) {
	// à compléter
    }

    int getFertilite() {
	// à compléter
    }

    public void vieillir() {
	// à compléter
        if (age <= 20) poids = 3+(int)(2.6*age);
        else if (age >= 50) poids += (age % 2);
    }

    public Humain rencontre (Homme h) {
	// à compléter
    }

    protected void setEsperanceVie() {
	// à compléter
    }
}

Pour compléter le code  :