Demo----披萨工长模式设计

Demo----披萨工长模式设计

               package com.msb.come;
                import java.util.Scanner;
        public class Test {
            public static void main(String[] args) {
                Scanner scanner = new Scanner(System.in);
                System.out.println("选择你想要制作的披萨:1.培根披萨 2.水果披萨");
                int nub = scanner.nextInt();
                Pasi pasi = FuliesStore.getPasi(nub);
                String methodShow = pasi.methodShow();//返回的是对象的子类方法
                System.out.println(methodShow);
            }
        }
        package com.msb.come;
        import java.util.Scanner;
        public class FuliesStore {
            //方法:提供种类
            public static Pasi getPasi(int chose) {
                Pasi pasi =null;
                String pisainame = null;
                Scanner scanner = new Scanner(System.in);
                switch (chose) {
                        case 1: {
                                    pisainame = "培根披萨";
                                    System.out.println("请输入披萨的克数:");
                                    int ke = scanner.nextInt();
                                    System.out.println("请输入披萨的大小:");
                                    int size = scanner.nextInt();
                                    System.out.println("请输入披萨的价格:");
                                    int pices = scanner.nextInt();
                                    //将录入的信息封装成ps的对象
                                    Pege pege = new Pege(pisainame, pices, size, ke);
                                    pasi = pege;
                                }
                                break;
                        case 2: {
                                    pisainame = "水果披萨";
                                    System.out.println("请输入输入你要加入的水果:");
                                    String kill = scanner.next();
                                    System.out.println("请输入披萨的大小:");
                                    int size = scanner.nextInt();
                                    System.out.println("请输入披萨的价格:");
                                    int pices = scanner.nextInt();
                                    Filues filues = new Filues(pisainame, pices, size, kill);
                                    pasi = filues;
                                }
                                break;
                        }
                        return pasi;
            }
        }       
对象,父类的创建
        package com.msb.come;
        //抽取出共同属性的父类
        public class Pasi {
            private String name;
            private double piace;
            private int size;

            public Pasi() {
            }
            public Pasi(String name, double piace, int size) {
                this.name = name;
                this.piace = piace;
                this.size = size;
            }
            public String getName() {
                return name;
            }
            public void setName(String name) {
                this.name = name;
            }
            public double getPiace() {
                return piace;
            }
            public void setPiace(double piace) {
                this.piace = piace;
            }
            public int getSize() {
                return size;
            }
            public void setSize(int size) {
                this.size = size;
            }
            public String methodShow(){
                return
                        "名称:" + name + "\n" +
                        "价格:" + piace +"元\n" +
                        "大小:" + size +"寸\n";
            }

            @Override
            public String toString() {
                return
                        "名称:" + name + "\n" +
                                "价格:" + piace +"元\n" +
                                "大小:" + size +"寸\n";
            }
        }

        package com.msb.come;
        //子类培根
        public class Pege extends Pasi{

            private int wight;
            public Pege(){}
            public Pege(String name, double piace, int size, int wight) {
                super(name, piace, size);
                this.wight = wight;
            }
            public int getWight() {
                return wight;
            }
            public void setWight(int wight) {
                this.wight = wight;
            }
            public String methodShow(){
                return
                        super.methodShow() +
                                "培根克数" + wight +
                                "克";
            }
        }

package com.msb.come;
//子类水果,描述特有的方法属性
public class Filues extends Pasi{
    private String kill;

    public Filues() {

    }

    public Filues(String name, double piace, int size, String kill) {
        super(name, piace, size);
        this.kill = kill;
    }

    public String getKill() {
        return kill;
    }

    public void setKill(String kill) {
        this.kill = kill;
    }

    @Override
    public String methodShow() {
        return super.methodShow()+"配料水果:"+kill;
    }
}

posted @ 2022-04-26 09:21  爱豆技术部  阅读(33)  评论(0)    收藏  举报