Medical Sports Team Hierarchy with Java Class Extensions

Programming · notes

Browse all programmation documents

Personne.java

protected String cin;

protected String nom;

protected String prenom;

public Personne(String cin,String nom, String prenom) {

1 public class Personne {

2

3

4

5

6

7

8

9

10

11

12

13

14 }

15

}

this.cin = cin;

this.nom = nom;

this.prenom = prenom;

}

@Override

public String toString() {

return "[cin=" + cin + ", nom=" + nom + "]";

Mohamed Ramzi

Haddad

Signature numérique de

Mohamed Ramzi Haddad

Date : 2017.06.01 13:59:11 +01'00'

Page 1

PersonnelMedical.java

1

2 public class PersonnelMedical extends Personne {

3

4

protected String diplome;

public PersonnelMedical(String cin, String nom, String prenom,String

diplome) {

super(cin, nom, prenom);

this.diplome = diplome;

}

void masser(Joueur unJoueur){

if(!unJoueur.isBlesse()){

unJoueur.setQualite(unJoueur.getQualite()*1.01);

}

}

5

6

7

8

9

10

11

12

13 }

14

Page 1

Kinesitherapeute.java

1 public class Kinesitherapeute extends PersonnelMedical {

2

public Kinesitherapeute(String cin, String nom, String prenom, String

diplome) {

super(cin, nom, prenom,diplome);

}

@Override

public String toString() {

return "Kiné "+super.toString();

}

3

4

5

6

7

Advertisement

8

9 }

Page 1

Medecin.java

public Medecin(String cin, String nom, String prenom, String diplome) {

super(cin, nom, prenom,diplome);

}

void soigner(Joueur unJoueur){

unJoueur.setBlesse(false);

}

@Override

public List<Joueur> selectionner(List<Joueur> joueurs) {

List<Joueur> selection = new ArrayList<Joueur>();

for(Joueur j:joueurs){

if(!j.isBlesse()){

1 import java.util.ArrayList;

3

4 public class Medecin extends PersonnelMedical implements Selectionneur{

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25 }

}

@Override

public String toString() {

}

return selection;

return "Mededcin "+super.toString();

selection.add(j);

}

}

Page 1

Sportif.java

protected boolean aJoue;

public Sportif(String cin, String nom, String prenom, boolean aJoue) {

1 public class Sportif extends Personne {

2

3

4

5

6

7

8

9 }

super(cin, nom, prenom);

this.aJoue = aJoue;

}

10

Page 1

private boolean blesse;

private double qualite;

public Joueur(String cin, String nom, String prenom, boolean aJoue) {

Joueur.java

}

}

return 1;

if(!blesse){

qualite*=1.05;

qualite*=1.02;

if(!this.blesse){

Advertisement

return (int) (this.qualite-o.qualite);

}

void sentrainer(){

if(!o.blesse){//les deux sont non blessés

}

void jouerUnMatch(){

}else{//seul this est non blessé et est donc supérieur

super(cin, nom, prenom, aJoue);

blesse = false;

qualite = 50;

}

@Override

public int compareTo(Joueur o) {

1 public class Joueur extends Sportif implements Comparable<Joueur>{

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50 }

}

@Override

public String toString() {

}

public void setQualite(double qualite) {

}

public void setBlesse(boolean blesse) {

}

public double getQualite() {

}

public boolean isBlesse() {

return (int) (this.qualite-o.qualite);

return "Joueur "+super.toString();

this.qualite = qualite;

Advertisement

this.blesse = blesse;

}else{//deux blessés

return qualite;

return blesse;

return -1;

}else{

}

}

}

if(!o.blesse){//seul this est blessé et est donc inférieur

Page 1

51

Joueur.java

Page 2

public Entraineur(String cin, String nom, String prenom, boolean aJoue) {

Entraineur.java

super(cin, nom, prenom, aJoue);

for(Joueur j: joueurs){

j.sentrainer();

}

void entrainer(List<Joueur> joueurs){

1 import java.util.Collections;

3

4 public class Entraineur extends Sportif implements Selectionneur{

5

6

7

8

9

10

11

12 // syntaxe 2

13 //

14 //

15 //

16

17

18

19

20

}

@Override

public List<Joueur> selectionner(List<Joueur> joueurs) {

for(int i=0;i<joueurs.size();i++){

joueurs.get(i).sentrainer();

}

}

Collections.sort(joueurs);//tri ascendant par ordre natures (la

méthode compareTo)

21

22

23

24

25

//méthode 1

//parcourir les 11 derniers par index.

//méthode 2

Collections.reverse(joueurs);//inverser la liste pour avoir les

meilleurs au début

return joueurs.subList(0, 11);//retourner la sous liste des joueurs

dont l'index va de 0 à 10

}

@Override

public String toString() {

return "Entraineur "+super.toString();

}

26

27

28

29

30

31 }

32

Page 1

Selectionneur.java

1 import java.util.List;

2

Advertisement

3 public interface Selectionneur {

4

5 }

6

public List<Joueur> selectionner(List<Joueur> Joueurs);

Page 1

Equipe.java

1 import java.util.List;

3

4 public class Equipe {

5

6

7

8

String nom;

List<Personne> membres;

//possibilité 2 permettant de garantir l'unicité des personnes (avec la

méthode equals)

//Set<Personne> membres;

@Override

public String toString() {

String str = "Equipe "+nom;

for(Personne p:membres){

str+=" "+p.toString();

}

return str;

}

9

10

11

12

13

14

15

16

17

18

19 }

20

Page 1

Test.java

1 import java.util.Arrays;

3

4 public class Test {

5

6

7

8

9

10

11 //

public static void main(String[] args) {

//question 3

List<Selectionneur> reunionDeSelectionneurs;

//question 4

il faut redéfinir la méthode equals dans la classe personne pour

qu'elle puisse

12 //

13 //

et

14 //

15 //

tester l'egalité de deux personnes sur la base de leurs cins.

Ensuite l'ajout se fait par la méthde add, la suppression par remove

le test d'existance se fait par contains.

Sinon la déclaration de l'attribut de l'equipe de type Set permet de

faire les ajouts

16 //

et les suppressions sans appeler la méthode contains pour tester

d'existance.

}

17

18

19 }

20

Page 1