Java Builder mode

Source: Internet
Author: User

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

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.