Meal:
public class Meal { private String food; Private String drink; public void Setfood (String food) { this.food = food; } Public String Getfood () { return food; } public void Setdrink (String drink) { this.drink = drink; } Public String Getdrink () { return drink; }}
Mealbuilder:
Public abstract class Mealbuilder { private Meal Meal = new Meal (); public abstract void Buildfood (); public abstract void Builddrink (); Public Meal getmeal () { return Meal; }}
Submealbuildera:
public class Submealbuildera extends Mealbuilder { @Override public void Buildfood () { System.out.println ( "This is Submealbuildera food!"); } @Override public void Builddrink () { System.out.println ("This is Submealbuildera drink!");} }
Submealbuilderb:
public class Submealbuilderb extends mealbuilder{ @Override public void Buildfood () { System.out.println ("This is Submealbuilderb food!"); } @Override public void Builddrink () { System.out.println ("This is Submealbuilderb drink!");} }
Kfcwaiter:
public class Kfcwaiter { private mealbuilder MB = null; Public Kfcwaiter () { } public Kfcwaiter (mealbuilder MB) { this.mb = MB; } public void Setmealbuilder (Mealbuilder MB) { this.mb = MB; } Public Meal construct () { mb.builddrink (); Mb.buildfood (); return Mb.getmeal (); }}
Buildermethod (call):
public class buildermethod{public static void Main (string[] args) { Mealbuilder mb_1 = new Submealbuildera (); C16/>mealbuilder mb_2 = new Submealbuilderb (); Kfcwaiter KFC = null; KFC = new Kfcwaiter (mb_1); Kfc.construct (); KFC = new Kfcwaiter (mb_2); Kfc.construct (); }}
Result:
This is Submealbuildera drink!
This is Submealbuildera food!
This is Submealbuilderb drink!
This is Submealbuilderb food!
Java Builder mode