中文字幕精品亚洲无线码二区,国产黄a三级三级三级看三级,亚洲七七久久桃花影院,丰满少妇被猛烈进入,国产小视频在线观看网站

題(ti)目(mu):披(pi)薩商(shang)店

題目:

普通實現:

package com.gao.Project.Pro2;

public class Pizza {
    //父類:共同的屬性:名稱,大小,價格
          //共同的方法:展示披薩的信息

    //屬性:
    private String name;  //名稱
    private int size;     //大小
    private int price;    //價格

    //方法:

    //為屬性添加Setter,Getter方法   快捷鍵:alt+insert

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getSize() {
        return size;
    }

    public void setSize(int size) {
        this.size = size;
    }

    public int getPrice() {
        return price;
    }

    public void setPrice(int price) {
        this.price = price;
    }

    //展示披薩信息:
    public String showpizza(){
        return "名稱:"+name+"\n價格:"+price + "元\n大小:"+size +"寸\n";
    }

    //構造器:
    //保證空參構造器的存在:
    //(1)便于通過反射,創建運行時類的對象
    //(2)便于子類繼承此運行實類是,默認調用空參構造器時,保證父類有此構造器

    public Pizza() {
    }
    //包括全部參數的構造器
    public Pizza(String name, int size, int price) {
        this.name = name;
        this.size = size;
        this.price = price;
    }
}

package com.gao.Project.Pro2;

public class FruitsPizza extends Pizza{
    //屬性:配料
    private String burdening;

    public String getBurdening() {
        return burdening;
    }

    public void setBurdening(String burdening) {
        this.burdening = burdening;
    }
    //構造器
    //空參構造器

    public FruitsPizza() {
    }

    //包括全部參數構造器

    public FruitsPizza(String name, int size, int price, String burdening) {
        super(name, size, price);
        this.burdening = burdening;
    }
    //重寫父類showpizza方法

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

package com.gao.Project.Pro2;

public class BaconPizza extends Pizza{
    //屬性:克數
    private double weight;

    public double getWeight() {
        return weight;
    }

    public void setWeight(double weight) {
        this.weight = weight;
    }

    //構造器
    //空參構造器
    public BaconPizza() {
    }
    //包括全部參數的構造器
    public BaconPizza(String name, int size, int price, double weight) {
        super(name, size, price);
        this.weight = weight;
    }

    //重寫父類showpizza方法

    @Override
    public String showpizza() {
        return super.showpizza()+"培根克數:"+weight+"g";
    }
}

package com.gao.Project.Pro2;

import java.net.Socket;
import java.sql.SQLOutput;
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        //選擇購買披薩
        Scanner sc = new Scanner(System.in);
        System.out.println("請選擇想要制作的披薩(1.培根披薩  2.水果披薩):");
        int choice = sc.nextInt();//選擇
        switch (choice){
            case 1:
                {
                    System.out.println("請輸入培根的克數:");
                    double weight = sc.nextDouble();
                    System.out.println("請輸入披薩的大小;");
                    int size = sc.nextInt();
                    System.out.println("請輸入披薩的價格:");
                    int price = sc.nextInt();
                    //將錄入的信息封裝成培根披薩的信息
                    BaconPizza bp = new BaconPizza("培根披薩",size,price,weight);
                    System.out.println(bp.showpizza());
               }
               break;
            case 2:
               {
                    System.out.println("請輸入你想要加入的水果:");
                    String burdening = sc.next();
                    System.out.println("請輸入披薩的大小:");
                    int size = sc.nextInt();
                    System.out.println("請輸入披薩的價格:");
                    int price = sc.nextInt();
                    //將錄入的信息封裝成水果披薩的信息
                   FruitsPizza fp = new FruitsPizza("水果披薩",size,price,burdening);
                   System.out.println(fp.showpizza());
                  //加代碼塊,作用在不同的作用域
               }
               break;
        }
    }
}

利用工廠加強:

新加了PizzaStore類

package com.gao.Project.Pro2;

import java.util.Scanner;

public class PizzaStore {
    public static Pizza getPizza(int choice){
        Pizza p = null;
        Scanner sc = new Scanner(System.in);
        switch (choice){
            case 1:
            {
                System.out.println("請輸入培根的克數:");
                double weight = sc.nextDouble();
                System.out.println("請輸入披薩的大小;");
                int size = sc.nextInt();
                System.out.println("請輸入披薩的價格:");
                int price = sc.nextInt();
                //將錄入的信息封裝成培根披薩的信息
                BaconPizza bp = new BaconPizza("培根披薩",size,price,weight);
                p = bp;
            }
            break;
            case 2:
            {
                System.out.println("請輸入你想要加入的水果:");
                String burdening = sc.next();
                System.out.println("請輸入披薩的大小:");
                int size = sc.nextInt();
                System.out.println("請輸入披薩的價格:");
                int price = sc.nextInt();
                //將錄入的信息封裝成水果披薩的信息
                FruitsPizza fp = new FruitsPizza("水果披薩",size,price,burdening);
                p = fp;
                //加代碼塊,作用在不同的作用域
            }
            break;
        }
        return p;
    }
}

只修改了原代碼的Test類

package com.gao.Project.Pro2;

import java.net.Socket;
import java.sql.SQLOutput;
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        //選擇購買披薩
        Scanner sc = new Scanner(System.in);
        System.out.println("請選擇想要制作的披薩(1.培根披薩  2.水果披薩):");
        int choice = sc.nextInt();//選擇
        //從工廠獲取披薩
        Pizza pizza = PizzaStore.getPizza(choice);
        System.out.println(pizza.showpizza());

    }
}

posted @ 2022-10-08 11:06  進步+吃飯  閱讀(36)  評論(0)    收藏  舉報