Nantes Université

Skip to content
Extraits de code Groupes Projets
Valider aa66a6f6 rédigé par fmoinard's avatar fmoinard
Parcourir les fichiers

Ajout Pattern Builder

parent 312fa0ba
Aucune branche associée trouvée
Aucune étiquette associée trouvée
1 requête de fusion!2Master
public class Game {
public static void main(String[] args) {
Produit S21 = new TelephoneBuilder().setOs("Android10").setProcesseur("Intel").setBatterie(
4000).setEcran(6.20).setMarque("Samsung").setPrix(700).getProduit();
Produit iPhone13 = new TelephoneBuilder().setOs("iOS15").setProcesseur("Apple").setBatterie(
3227).setEcran(6.10).setMarque("Apple").setPrix(950).getProduit();
Produit SurfacePro7 = new TabletteBuilder().setOs("Windows11").setProcesseur("Intel").setBatterie(
5702).setEcran(13.00).setMarque("Microsoft").setPrix(1200).getProduit();
Produit iPad = new TelephoneBuilder().setOs("iPadOS15").setProcesseur("Apple").setBatterie(
8686).setEcran(10.2).setMarque("Apple").setPrix(500).getProduit();
}
}
public interface IProduitBuilder {
IProduitBuilder setOs(String os);
IProduitBuilder setProcesseur(String processeur);
IProduitBuilder setBatterie(int batterie);
IProduitBuilder setEcran(double ecran);
IProduitBuilder setMarque(String marque);
IProduitBuilder setPrix(int prix);
IProduitBuilder typeProduit();
Produit getProduit();
}
public class Produit {
private String os;
private String processeur;
private int batterie;
private double ecran;
private String marque;
private int prix;
private String typeProduit;
public Produit(String os, String processeur, int batterie, double ecran, String marque, int prix, String typeProduit) {
super();
this.os = os;
this.processeur = processeur;
this.batterie = batterie;
this.ecran = ecran;
this.marque = marque;
this.prix = prix;
this.typeProduit = typeProduit;
}
}
public class TabletteBuilder implements IProduitBuilder{
String os = "";
String processeur = "";
int batterie = 0;
double ecran = 0.00;
String marque = "";
int prix = 0;
String typeProduit = "";
@Override
public IProduitBuilder setOs(String os) {
this.os = os;
return this;
}
@Override
public IProduitBuilder setProcesseur(String processeur) {
this.processeur = processeur;
return this;
}
@Override
public IProduitBuilder setBatterie(int batterie) {
this.batterie = batterie;
return this;
}
@Override
public IProduitBuilder setEcran(double ecran) {
this.ecran = ecran;
return this;
}
@Override
public IProduitBuilder setMarque(String marque) {
this.marque = marque;
return this;
}
@Override
public IProduitBuilder setPrix(int prix) {
this.prix = prix;
return this;
}
@Override
public IProduitBuilder typeProduit() {
this.typeProduit = "Tablette";
return this;
}
@Override
public Produit getProduit() {
return null;
}
}
public class TelephoneBuilder implements IProduitBuilder{
String os;
String processeur;
int batterie;
double ecran;
String marque;
int prix;
String typeProduit;
@Override
public IProduitBuilder setOs(String os) {
this.os = os;
return this;
}
@Override
public IProduitBuilder setProcesseur(String processeur) {
this.processeur = processeur;
return this;
}
@Override
public IProduitBuilder setBatterie(int batterie) {
this.batterie = batterie;
return this;
}
@Override
public IProduitBuilder setEcran(double ecran) {
this.ecran = ecran;
return this;
}
@Override
public IProduitBuilder setMarque(String marque) {
this.marque = marque;
return this;
}
@Override
public IProduitBuilder setPrix(int prix) {
this.prix = prix;
return this;
}
@Override
public IProduitBuilder typeProduit() {
this.typeProduit = "Telephone";
return this;
}
@Override
public Produit getProduit() {
return new Produit(os, processeur, batterie, ecran, marque, prix, typeProduit);
}
}
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter