• Aucun résultat trouvé

Master bio-info : Java Année 2011-2012 TD5

N/A
N/A
Protected

Academic year: 2022

Partager "Master bio-info : Java Année 2011-2012 TD5"

Copied!
3
0
0

Texte intégral

(1)

Master bio-info : Java

Année 2011-2012 TD5

Exercice 1 (Classification)

On prend les classes suivantes : Etudiant, Personne, EtudiantTravailleur, Enseignant,EtudiantSportifetTravailleur.

1. dessinez une arborescence cohérente pour ces classes en la justifiant, 2. où se situeront les champs suivants : salaire, emploiDuTemps,

anneDEtude,nom,age etsportPratique.

3. Écrivez une méthode qui prend un tableau de personnes en argument et retourne la somme des salaires de ces personnes.

Exercice 2 On considère les en-tête de méthodes suivantes : 1. int methode(int a, char b)

2. void methode() 3. int methode(int a)

4. int methode(char b, int a) 5. int methode(int b, char a) 6. void methode(int a, char b) 7. int methode(int a, char b, float c)

Quelles combinaisons de méthodes peuvent être définies simultanément dans une même classe ?

a Toutes, b 1, 2, 3, 4

c 2, 3, 5, 6, 7 d toutes sauf 5,

e toutes sauf 5 et 6 f rien de tout ça.

Exercice 3 (Liaison dynamique - 2) Qu’affiche le programme suivant ?

class A {

public String f(B obj) { return ("A et B");}

public String f(A obj) { return ("A et A");}

}

class B extends A {

public String f(B obj) { return ("B et B");}

public String f(A obj) { return ("B et A");}

}

class test {

public static void main (String [] args){

A a1 = new A();

(2)

A a2 = new B();

B b = new B();

System.out.println(a1.f(a1));

System.out.println(a1.f(a2));

System.out.println(a2.f(a1));

System.out.println(a2.f(a2));

System.out.println(a2.f(b));

System.out.println(b.f(a2));

} }

(3)

correction

class A {

public String f(B obj) { return ("A et B");}

public String f(A obj) { return ("A et A");}

}

class B extends A {

public String f(B obj) { return ("B et B");}

public String f(A obj) { return ("B et A");}

}

class test {

public static void main (String [] args){

A a1 = new A();

A a2 = new B();

B b = new B();

System.out.println(a1.f(a1));

System.out.println(a1.f(a2));

System.out.println(a2.f(a1));

System.out.println(a2.f(a2));

System.out.println(a2.f(b));

System.out.println(b.f(a2));

} }

Correction :

A et A A et A B et A B et A B et B B et A

Le choix de la méthode est fait dynamiquement pendant l’exécution, tandis que le type de l’argument est déterminé à la compilation.

Références

Documents relatifs

2) Ecrire la partie du programme qui permet de faire saisir ` a l’utilisateur un tableau de 5 ´ el´ ements avec des entiers diff´ erents compris entre 1 inclus et 8 inclus.. 3)

[r]

[r]

Comparer le salaire moyen des hommes et celui des femmes.. Le plus bas salaire de l’entreprise est de 1

Dans cette méthode, créer une nouvelle ListeTriee, créer 4 Personne et les inserer() dans la liste ; afficher la liste (au moyen d’un unique appel à println()).. Puis enlever()

[r]

De  plus,  la  distinction  entre  activités  économiques  et  activités  non  économiques  dépend  des 

Vous devez construire une procédure qui prend en entrée un état du jeu, un joueur (jaune ou rouge) et une colonne (j ), et produit en sortie l’état suivant du jeu.. On supposera que