15 Decembre
This commit is contained in:
BIN
DEV3.4/TP5/stub/exo3/Chef.class
Normal file
BIN
DEV3.4/TP5/stub/exo3/Chef.class
Normal file
Binary file not shown.
62
DEV3.4/TP5/stub/exo3/Chef.java
Normal file
62
DEV3.4/TP5/stub/exo3/Chef.java
Normal file
@@ -0,0 +1,62 @@
|
||||
import java.util.*;
|
||||
|
||||
/** feuille du motif composite */
|
||||
public class Chef extends Person {
|
||||
|
||||
ArrayList<Person> subalternes;
|
||||
|
||||
|
||||
public boolean addSubalterne(Person p){
|
||||
return this.subalternes.add(p);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/** constructeur
|
||||
*
|
||||
* @param n fun factor
|
||||
*
|
||||
*/
|
||||
public Chef(int n){
|
||||
super(n);
|
||||
this.subalternes = new ArrayList<Person>(100);
|
||||
// d'autres choses peut-être.
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* La meilleure fête avec moi, c'est la meilleure fête sans mes subalternes pour eux plus moi.
|
||||
*
|
||||
* @return retourne la valeur de la meilleure fête en invitant seulement les gens dont cette personne est le ou la supérieure hiérarchique, mais pas elle.
|
||||
*
|
||||
*/
|
||||
public int bestPartyWithoutMe(){
|
||||
int funParty = 0;
|
||||
for(int i=0;i<this.subalternes.size();i++){
|
||||
funParty += this.subalternes.get(i).bestParty();
|
||||
}
|
||||
return funParty;
|
||||
}
|
||||
|
||||
/**
|
||||
* La meilleure fête est soit sans moi (c'est l'union des meilleures fêtes de mes subalternes).
|
||||
* soit c'est la meilleure fête avec moi.
|
||||
*
|
||||
* @return la valeur de la meilleure fête en invitant seulement les gens dont cette personne est le ou la supérieure hiérarchique (peut-être avec elle).
|
||||
*
|
||||
*/
|
||||
public int bestParty(){
|
||||
return Integer.max(this.bestPartyWithMe(),this.bestPartyWithoutMe());
|
||||
}
|
||||
|
||||
private int bestPartyWithMe(){
|
||||
int funParty = this.getFunFactor();
|
||||
for(int i=0;i<this.subalternes.size();i++){
|
||||
funParty += this.subalternes.get(i).bestPartyWithoutMe();
|
||||
}
|
||||
return funParty;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
BIN
DEV3.4/TP5/stub/exo3/Exemple.class
Normal file
BIN
DEV3.4/TP5/stub/exo3/Exemple.class
Normal file
Binary file not shown.
36
DEV3.4/TP5/stub/exo3/Exemple.java
Normal file
36
DEV3.4/TP5/stub/exo3/Exemple.java
Normal file
@@ -0,0 +1,36 @@
|
||||
public class Exemple {
|
||||
public static void main(String[] args) {
|
||||
// bar 2
|
||||
// foo 5
|
||||
// titi 4
|
||||
// tata 4
|
||||
// toto 6
|
||||
// tete 6
|
||||
|
||||
Travailleur titi = new Travailleur(4);
|
||||
Travailleur tata = new Travailleur(4);
|
||||
Travailleur toto = new Travailleur(6);
|
||||
|
||||
Chef foo = new Chef(5);
|
||||
foo.addSubalterne(titi);
|
||||
foo.addSubalterne(tata);
|
||||
foo.addSubalterne(toto);
|
||||
System.out.println(foo.bestParty());
|
||||
System.out.println(foo.bestPartyWithoutMe());
|
||||
|
||||
Travailleur tete = new Travailleur(6);
|
||||
// System.out.println(tete.bestParty());
|
||||
// System.out.println(tete.bestPartyWithoutMe());
|
||||
|
||||
Chef bar = new Chef(2);
|
||||
bar.addSubalterne(foo);
|
||||
bar.addSubalterne(tete);
|
||||
System.out.println(bar.bestParty());
|
||||
//System.out.println(bar.bestPartyWithoutMe());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
BIN
DEV3.4/TP5/stub/exo3/Exemple2.class
Normal file
BIN
DEV3.4/TP5/stub/exo3/Exemple2.class
Normal file
Binary file not shown.
33
DEV3.4/TP5/stub/exo3/Exemple2.java
Normal file
33
DEV3.4/TP5/stub/exo3/Exemple2.java
Normal file
@@ -0,0 +1,33 @@
|
||||
public class Exemple2 {
|
||||
public static void main(String[] args) {
|
||||
// Exemple inspiré question Thibault B.
|
||||
// 1
|
||||
// 10
|
||||
// 1
|
||||
// 1
|
||||
// 10
|
||||
// 3
|
||||
// 4
|
||||
|
||||
Travailleur a = new Travailleur(3);
|
||||
Travailleur b = new Travailleur(4);
|
||||
Chef c = new Chef(10);
|
||||
c.addSubalterne(a);
|
||||
c.addSubalterne(b);
|
||||
Chef d = new Chef(1);
|
||||
d.addSubalterne(c);
|
||||
Chef e = new Chef(1);
|
||||
e.addSubalterne(d);
|
||||
Chef f = new Chef(10);
|
||||
f.addSubalterne(e);
|
||||
Chef g = new Chef(1);
|
||||
g.addSubalterne(f);
|
||||
|
||||
System.out.println(g.bestParty());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
BIN
DEV3.4/TP5/stub/exo3/Exemple3.class
Normal file
BIN
DEV3.4/TP5/stub/exo3/Exemple3.class
Normal file
Binary file not shown.
43
DEV3.4/TP5/stub/exo3/Exemple3.java
Normal file
43
DEV3.4/TP5/stub/exo3/Exemple3.java
Normal file
@@ -0,0 +1,43 @@
|
||||
public class Exemple3 {
|
||||
public static void main(String[] args) {
|
||||
|
||||
Travailleur a = new Travailleur(3);
|
||||
Travailleur b = new Travailleur(4);
|
||||
Chef c = new Chef(10);
|
||||
c.addSubalterne(a);
|
||||
c.addSubalterne(b);
|
||||
Chef d = new Chef(1);
|
||||
d.addSubalterne(c);
|
||||
Chef e = new Chef(1);
|
||||
e.addSubalterne(d);
|
||||
Chef f = new Chef(10);
|
||||
f.addSubalterne(e);
|
||||
Chef g = new Chef(1);
|
||||
g.addSubalterne(f);
|
||||
|
||||
Travailleur titi = new Travailleur(4);
|
||||
Travailleur tata = new Travailleur(4);
|
||||
Travailleur toto = new Travailleur(6);
|
||||
Chef foo = new Chef(5);
|
||||
foo.addSubalterne(titi);
|
||||
foo.addSubalterne(tata);
|
||||
foo.addSubalterne(toto);
|
||||
Chef bar = new Chef(2);
|
||||
bar.addSubalterne(foo);
|
||||
Travailleur tete = new Travailleur(6);
|
||||
bar.addSubalterne(tete);
|
||||
|
||||
Chef x = new Chef(2);
|
||||
x.addSubalterne(g);
|
||||
x.addSubalterne(bar);
|
||||
Chef y = new Chef(39);
|
||||
y.addSubalterne(x);
|
||||
|
||||
System.out.println(y.bestParty());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
BIN
DEV3.4/TP5/stub/exo3/Person.class
Normal file
BIN
DEV3.4/TP5/stub/exo3/Person.class
Normal file
Binary file not shown.
44
DEV3.4/TP5/stub/exo3/Person.java
Normal file
44
DEV3.4/TP5/stub/exo3/Person.java
Normal file
@@ -0,0 +1,44 @@
|
||||
|
||||
/** "Les personnes sont soit des chefs, soit des travailleurs" */
|
||||
public abstract class Person{
|
||||
/**
|
||||
* valeur indiquant le niveau de coolitude de la personne
|
||||
*/
|
||||
private int funFactor;
|
||||
|
||||
/**
|
||||
* @return la valeur indiquant le niveau de coolitude de la personne. plus cete valeur est grande, plus la personne contribue à améliorer l'ambiance dans une fête.
|
||||
*
|
||||
*/
|
||||
public int getFunFactor(){
|
||||
return this.funFactor;
|
||||
}
|
||||
|
||||
/**
|
||||
* constructeur
|
||||
*
|
||||
* <b>NB</b>. Cette méthode ne peut pas être appelé directement pour instancier un objet car la classe est abstraite, mais sert dans les constructeurs de classes dérivées.
|
||||
*
|
||||
* @see Travailleur, Chef
|
||||
*/
|
||||
//
|
||||
public Person(int n){
|
||||
if (n < 0)
|
||||
throw new IllegalArgumentException("Le fun facteur est positif ou nul, vous avez proposé " + n);
|
||||
this.funFactor = n;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @return retourne la valeur de la meilleure fête en invitant seulement les gens dont cette personne est le ou la supérieure hiérarchique, mais pas elle.
|
||||
*/
|
||||
public abstract int bestPartyWithoutMe();
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @return la valeur de la meilleure fête en invitant seulement les gens dont cette personne est le ou la supérieure hiérarchique (peut-être avec elle).
|
||||
*/
|
||||
public abstract int bestParty();
|
||||
}
|
||||
|
BIN
DEV3.4/TP5/stub/exo3/Travailleur.class
Normal file
BIN
DEV3.4/TP5/stub/exo3/Travailleur.class
Normal file
Binary file not shown.
31
DEV3.4/TP5/stub/exo3/Travailleur.java
Normal file
31
DEV3.4/TP5/stub/exo3/Travailleur.java
Normal file
@@ -0,0 +1,31 @@
|
||||
/** feuille du motif composite */
|
||||
public class Travailleur extends Person {
|
||||
|
||||
/** constructeur
|
||||
*
|
||||
* @param n fun factor
|
||||
*
|
||||
*/
|
||||
public Travailleur(int n){
|
||||
super(n);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @return fête sans le travailleur
|
||||
*/
|
||||
public int bestPartyWithoutMe(){
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return fête avec le travailleur
|
||||
*/
|
||||
public int bestParty(){
|
||||
return this.getFunFactor();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
48
DEV3.4/TP5/stub/exo4/Chef.java
Normal file
48
DEV3.4/TP5/stub/exo4/Chef.java
Normal file
@@ -0,0 +1,48 @@
|
||||
import java.util.LinkedHashSet;
|
||||
import java.util.Objects;
|
||||
|
||||
/** feuille du motif composite */
|
||||
public class Chef extends Person {
|
||||
|
||||
|
||||
public boolean addSubalterne(Person p){
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/** constructeur
|
||||
*
|
||||
* @param n fun factor
|
||||
*
|
||||
*/
|
||||
public Chef(int n){
|
||||
super(n);
|
||||
// d'autres choses peut-être.
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* La meilleure fête avec moi, c'est la meilleure fête sans mes subalternes pour eux plus moi.
|
||||
*
|
||||
* @return retourne la valeur de la meilleure fête en invitant seulement les gens dont cette personne est le ou la supérieure hiérarchique, mais pas elle.
|
||||
*
|
||||
*/
|
||||
public int bestPartyWithoutMe(){
|
||||
// to do
|
||||
}
|
||||
|
||||
/**
|
||||
* La meilleure fête est soit sans moi (c'est l'union des meilleures fêtes de mes subalternes).
|
||||
* soit c'est la meilleure fête avec moi.
|
||||
*
|
||||
* @return la valeur de la meilleure fête en invitant seulement les gens dont cette personne est le ou la supérieure hiérarchique (peut-être avec elle).
|
||||
*
|
||||
*/
|
||||
public int bestParty(){
|
||||
// to do
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
36
DEV3.4/TP5/stub/exo4/Exemple.java
Normal file
36
DEV3.4/TP5/stub/exo4/Exemple.java
Normal file
@@ -0,0 +1,36 @@
|
||||
public class Exemple {
|
||||
public static void main(String[] args) {
|
||||
// bar 2
|
||||
// foo 5
|
||||
// titi 4
|
||||
// tata 4
|
||||
// toto 6
|
||||
// tete 6
|
||||
|
||||
Travailleur titi = new Travailleur(4);
|
||||
Travailleur tata = new Travailleur(4);
|
||||
Travailleur toto = new Travailleur(6);
|
||||
|
||||
Chef foo = new Chef(5);
|
||||
foo.addSubalterne(titi);
|
||||
foo.addSubalterne(tata);
|
||||
foo.addSubalterne(toto);
|
||||
System.out.println(foo.bestParty());
|
||||
System.out.println(foo.bestPartyWithoutMe());
|
||||
|
||||
Travailleur tete = new Travailleur(6);
|
||||
// System.out.println(tete.bestParty());
|
||||
// System.out.println(tete.bestPartyWithoutMe());
|
||||
|
||||
Chef bar = new Chef(2);
|
||||
bar.addSubalterne(foo);
|
||||
bar.addSubalterne(tete);
|
||||
System.out.println(bar.bestParty());
|
||||
//System.out.println(bar.bestPartyWithoutMe());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
33
DEV3.4/TP5/stub/exo4/Exemple2.java
Normal file
33
DEV3.4/TP5/stub/exo4/Exemple2.java
Normal file
@@ -0,0 +1,33 @@
|
||||
public class Exemple2 {
|
||||
public static void main(String[] args) {
|
||||
// Exemple inspiré question Thibault B.
|
||||
// 1
|
||||
// 10
|
||||
// 1
|
||||
// 1
|
||||
// 10
|
||||
// 3
|
||||
// 4
|
||||
|
||||
Travailleur a = new Travailleur(3);
|
||||
Travailleur b = new Travailleur(4);
|
||||
Chef c = new Chef(10);
|
||||
c.addSubalterne(a);
|
||||
c.addSubalterne(b);
|
||||
Chef d = new Chef(1);
|
||||
d.addSubalterne(c);
|
||||
Chef e = new Chef(1);
|
||||
e.addSubalterne(d);
|
||||
Chef f = new Chef(10);
|
||||
f.addSubalterne(e);
|
||||
Chef g = new Chef(1);
|
||||
g.addSubalterne(f);
|
||||
|
||||
System.out.println(g.bestParty());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
43
DEV3.4/TP5/stub/exo4/Exemple3.java
Normal file
43
DEV3.4/TP5/stub/exo4/Exemple3.java
Normal file
@@ -0,0 +1,43 @@
|
||||
public class Exemple3 {
|
||||
public static void main(String[] args) {
|
||||
|
||||
Travailleur a = new Travailleur(3);
|
||||
Travailleur b = new Travailleur(4);
|
||||
Chef c = new Chef(10);
|
||||
c.addSubalterne(a);
|
||||
c.addSubalterne(b);
|
||||
Chef d = new Chef(1);
|
||||
d.addSubalterne(c);
|
||||
Chef e = new Chef(1);
|
||||
e.addSubalterne(d);
|
||||
Chef f = new Chef(10);
|
||||
f.addSubalterne(e);
|
||||
Chef g = new Chef(1);
|
||||
g.addSubalterne(f);
|
||||
|
||||
Travailleur titi = new Travailleur(4);
|
||||
Travailleur tata = new Travailleur(4);
|
||||
Travailleur toto = new Travailleur(6);
|
||||
Chef foo = new Chef(5);
|
||||
foo.addSubalterne(titi);
|
||||
foo.addSubalterne(tata);
|
||||
foo.addSubalterne(toto);
|
||||
Chef bar = new Chef(2);
|
||||
bar.addSubalterne(foo);
|
||||
Travailleur tete = new Travailleur(6);
|
||||
bar.addSubalterne(tete);
|
||||
|
||||
Chef x = new Chef(2);
|
||||
x.addSubalterne(g);
|
||||
x.addSubalterne(bar);
|
||||
Chef y = new Chef(39);
|
||||
y.addSubalterne(x);
|
||||
|
||||
System.out.println(y.bestParty());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
44
DEV3.4/TP5/stub/exo4/Person.java
Normal file
44
DEV3.4/TP5/stub/exo4/Person.java
Normal file
@@ -0,0 +1,44 @@
|
||||
|
||||
/** "Les personnes sont soit des chefs, soit des travailleurs" */
|
||||
public abstract class Person{
|
||||
/**
|
||||
* valeur indiquant le niveau de coolitude de la personne
|
||||
*/
|
||||
private int funFactor;
|
||||
|
||||
/**
|
||||
* @return la valeur indiquant le niveau de coolitude de la personne. plus cete valeur est grande, plus la personne contribue à améliorer l'ambiance dans une fête.
|
||||
*
|
||||
*/
|
||||
public int getFunFactor(){
|
||||
return this.funFactor;
|
||||
}
|
||||
|
||||
/**
|
||||
* constructeur
|
||||
*
|
||||
* <b>NB</b>. Cette méthode ne peut pas être appelé directement pour instancier un objet car la classe est abstraite, mais sert dans les constructeurs de classes dérivées.
|
||||
*
|
||||
* @see Travailleur, Chef
|
||||
*/
|
||||
//
|
||||
public Person(int n){
|
||||
if (n < 0)
|
||||
throw new IllegalArgumentException("Le fun facteur est positif ou nul, vous avez proposé " + n);
|
||||
this.funFactor = n;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @return retourne la valeur de la meilleure fête en invitant seulement les gens dont cette personne est le ou la supérieure hiérarchique, mais pas elle.
|
||||
*/
|
||||
public abstract int bestPartyWithoutMe();
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @return la valeur de la meilleure fête en invitant seulement les gens dont cette personne est le ou la supérieure hiérarchique (peut-être avec elle).
|
||||
*/
|
||||
public abstract int bestParty();
|
||||
}
|
||||
|
31
DEV3.4/TP5/stub/exo4/Travailleur.java
Normal file
31
DEV3.4/TP5/stub/exo4/Travailleur.java
Normal file
@@ -0,0 +1,31 @@
|
||||
/** feuille du motif composite */
|
||||
public class Travailleur extends Person {
|
||||
|
||||
/** constructeur
|
||||
*
|
||||
* @param n fun factor
|
||||
*
|
||||
*/
|
||||
public Travailleur(int n){
|
||||
super(n);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @return fête sans le travailleur
|
||||
*/
|
||||
public int bestPartyWithoutMe(){
|
||||
// return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return fête avec le travailleur
|
||||
*/
|
||||
public int bestParty(){
|
||||
// return null;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
48
DEV3.4/TP5/stub/exo5/Chef.java
Normal file
48
DEV3.4/TP5/stub/exo5/Chef.java
Normal file
@@ -0,0 +1,48 @@
|
||||
import java.util.LinkedHashSet;
|
||||
import java.util.Objects;
|
||||
|
||||
/** feuille du motif composite */
|
||||
public class Chef extends Person {
|
||||
|
||||
|
||||
public boolean addSubalterne(Person p){
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/** constructeur
|
||||
*
|
||||
* @param n fun factor
|
||||
*
|
||||
*/
|
||||
public Chef(int n){
|
||||
super(n);
|
||||
// d'autres choses peut-être.
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* La meilleure fête avec moi, c'est la meilleure fête sans mes subalternes pour eux plus moi.
|
||||
*
|
||||
* @return retourne la valeur de la meilleure fête en invitant seulement les gens dont cette personne est le ou la supérieure hiérarchique, mais pas elle.
|
||||
*
|
||||
*/
|
||||
public int bestPartyWithoutMe(){
|
||||
// to do
|
||||
}
|
||||
|
||||
/**
|
||||
* La meilleure fête est soit sans moi (c'est l'union des meilleures fêtes de mes subalternes).
|
||||
* soit c'est la meilleure fête avec moi.
|
||||
*
|
||||
* @return la valeur de la meilleure fête en invitant seulement les gens dont cette personne est le ou la supérieure hiérarchique (peut-être avec elle).
|
||||
*
|
||||
*/
|
||||
public int bestParty(){
|
||||
// to do
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
36
DEV3.4/TP5/stub/exo5/Exemple.java
Normal file
36
DEV3.4/TP5/stub/exo5/Exemple.java
Normal file
@@ -0,0 +1,36 @@
|
||||
public class Exemple {
|
||||
public static void main(String[] args) {
|
||||
// bar 2
|
||||
// foo 5
|
||||
// titi 4
|
||||
// tata 4
|
||||
// toto 6
|
||||
// tete 6
|
||||
|
||||
Travailleur titi = new Travailleur(4);
|
||||
Travailleur tata = new Travailleur(4);
|
||||
Travailleur toto = new Travailleur(6);
|
||||
|
||||
Chef foo = new Chef(5);
|
||||
foo.addSubalterne(titi);
|
||||
foo.addSubalterne(tata);
|
||||
foo.addSubalterne(toto);
|
||||
System.out.println(foo.bestParty());
|
||||
System.out.println(foo.bestPartyWithoutMe());
|
||||
|
||||
Travailleur tete = new Travailleur(6);
|
||||
// System.out.println(tete.bestParty());
|
||||
// System.out.println(tete.bestPartyWithoutMe());
|
||||
|
||||
Chef bar = new Chef(2);
|
||||
bar.addSubalterne(foo);
|
||||
bar.addSubalterne(tete);
|
||||
System.out.println(bar.bestParty());
|
||||
//System.out.println(bar.bestPartyWithoutMe());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
33
DEV3.4/TP5/stub/exo5/Exemple2.java
Normal file
33
DEV3.4/TP5/stub/exo5/Exemple2.java
Normal file
@@ -0,0 +1,33 @@
|
||||
public class Exemple2 {
|
||||
public static void main(String[] args) {
|
||||
// Exemple inspiré question Thibault B.
|
||||
// 1
|
||||
// 10
|
||||
// 1
|
||||
// 1
|
||||
// 10
|
||||
// 3
|
||||
// 4
|
||||
|
||||
Travailleur a = new Travailleur(3);
|
||||
Travailleur b = new Travailleur(4);
|
||||
Chef c = new Chef(10);
|
||||
c.addSubalterne(a);
|
||||
c.addSubalterne(b);
|
||||
Chef d = new Chef(1);
|
||||
d.addSubalterne(c);
|
||||
Chef e = new Chef(1);
|
||||
e.addSubalterne(d);
|
||||
Chef f = new Chef(10);
|
||||
f.addSubalterne(e);
|
||||
Chef g = new Chef(1);
|
||||
g.addSubalterne(f);
|
||||
|
||||
System.out.println(g.bestParty());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
43
DEV3.4/TP5/stub/exo5/Exemple3.java
Normal file
43
DEV3.4/TP5/stub/exo5/Exemple3.java
Normal file
@@ -0,0 +1,43 @@
|
||||
public class Exemple3 {
|
||||
public static void main(String[] args) {
|
||||
|
||||
Travailleur a = new Travailleur(3);
|
||||
Travailleur b = new Travailleur(4);
|
||||
Chef c = new Chef(10);
|
||||
c.addSubalterne(a);
|
||||
c.addSubalterne(b);
|
||||
Chef d = new Chef(1);
|
||||
d.addSubalterne(c);
|
||||
Chef e = new Chef(1);
|
||||
e.addSubalterne(d);
|
||||
Chef f = new Chef(10);
|
||||
f.addSubalterne(e);
|
||||
Chef g = new Chef(1);
|
||||
g.addSubalterne(f);
|
||||
|
||||
Travailleur titi = new Travailleur(4);
|
||||
Travailleur tata = new Travailleur(4);
|
||||
Travailleur toto = new Travailleur(6);
|
||||
Chef foo = new Chef(5);
|
||||
foo.addSubalterne(titi);
|
||||
foo.addSubalterne(tata);
|
||||
foo.addSubalterne(toto);
|
||||
Chef bar = new Chef(2);
|
||||
bar.addSubalterne(foo);
|
||||
Travailleur tete = new Travailleur(6);
|
||||
bar.addSubalterne(tete);
|
||||
|
||||
Chef x = new Chef(2);
|
||||
x.addSubalterne(g);
|
||||
x.addSubalterne(bar);
|
||||
Chef y = new Chef(39);
|
||||
y.addSubalterne(x);
|
||||
|
||||
System.out.println(y.bestParty());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
44
DEV3.4/TP5/stub/exo5/Person.java
Normal file
44
DEV3.4/TP5/stub/exo5/Person.java
Normal file
@@ -0,0 +1,44 @@
|
||||
|
||||
/** "Les personnes sont soit des chefs, soit des travailleurs" */
|
||||
public abstract class Person{
|
||||
/**
|
||||
* valeur indiquant le niveau de coolitude de la personne
|
||||
*/
|
||||
private int funFactor;
|
||||
|
||||
/**
|
||||
* @return la valeur indiquant le niveau de coolitude de la personne. plus cete valeur est grande, plus la personne contribue à améliorer l'ambiance dans une fête.
|
||||
*
|
||||
*/
|
||||
public int getFunFactor(){
|
||||
return this.funFactor;
|
||||
}
|
||||
|
||||
/**
|
||||
* constructeur
|
||||
*
|
||||
* <b>NB</b>. Cette méthode ne peut pas être appelé directement pour instancier un objet car la classe est abstraite, mais sert dans les constructeurs de classes dérivées.
|
||||
*
|
||||
* @see Travailleur, Chef
|
||||
*/
|
||||
//
|
||||
public Person(int n){
|
||||
if (n < 0)
|
||||
throw new IllegalArgumentException("Le fun facteur est positif ou nul, vous avez proposé " + n);
|
||||
this.funFactor = n;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @return retourne la valeur de la meilleure fête en invitant seulement les gens dont cette personne est le ou la supérieure hiérarchique, mais pas elle.
|
||||
*/
|
||||
public abstract int bestPartyWithoutMe();
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @return la valeur de la meilleure fête en invitant seulement les gens dont cette personne est le ou la supérieure hiérarchique (peut-être avec elle).
|
||||
*/
|
||||
public abstract int bestParty();
|
||||
}
|
||||
|
31
DEV3.4/TP5/stub/exo5/Travailleur.java
Normal file
31
DEV3.4/TP5/stub/exo5/Travailleur.java
Normal file
@@ -0,0 +1,31 @@
|
||||
/** feuille du motif composite */
|
||||
public class Travailleur extends Person {
|
||||
|
||||
/** constructeur
|
||||
*
|
||||
* @param n fun factor
|
||||
*
|
||||
*/
|
||||
public Travailleur(int n){
|
||||
super(n);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @return fête sans le travailleur
|
||||
*/
|
||||
public int bestPartyWithoutMe(){
|
||||
// return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return fête avec le travailleur
|
||||
*/
|
||||
public int bestParty(){
|
||||
// return null;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user