代码实现

披萨店

public abstract class PizzaStore{
    public Pizza orderPizza(String type){
        Pizza piaaa;
        pizza = createPizza(type);
        pizza.prepare();
        pizza.bake();
        pizza.cut();
        pizza.box();
        return pizza;
    }
    abstract Pizza createPizza(String type);
}

开一家披萨店把

public class NYPizzaStore extends PizzaStore{
//createPizza()返回一个Pizza对象,由子类全权负责实例化哪一个具体Pizza
    Pizza createPizza(String item){
        if(item.equals("cheese")){
        //创建具体类
            return new NYStyleCheesePizza();
        }else if(item.equals("veggie")){
            return new NYStyleVeggiePizza();
        }else if(item.equals("clam")){
            return new NYStyleClamPizza();
        }else if(item.equals("pepproni")){
            return new NYStylePepproni();
        }else return null;
    }
}

纽约风味的具体子类

public class NYStyleCheesePizza extends Pizza{
    public NYStyleCheesePizza(){
        name = "NY Style Sauce and Cheese Pizza";
        dough = "Thin Crust Dough";
        sauce = "Marinara Sauce";

        toppings.add("Grated Reggiano Cheese");
    }
}

有了披萨店,该生产披萨了

public abstract class Pizza{
    String name;
    String dough;
    String sauce;
    ArrayList toppings = new ArrayList();

    void prepare(){
        System.out.println("Preparing" + name);
        System.out.println("Tossing dough");
        System.out.println("Adding sauce");
        System.out.println("Adding toppings: ");
        for(int i=0; i<toppings.size(); i++){
            System.out.println("  " + topping.get(i));
        }
    }

    void bake(){
        System.out.println("Bake for 25 minutes at 350");
    }

    void cut(){
        System.out.println("Cutting the pizza into diagonal slices");
    }

    void box(){
        System.out.println("Place pizza in official PizzaStore box");
    }

    public String getName(){
        return name;
    }
}

现在可以吃披萨了

public class PizzaTestDrive{
    public static void main(String[] args){
        PizzaStore nyStore = new NYPizzaStore();

    Pizza pizza = nyStore.orderPizza("cheese");
    System.out.println("Ethan ordered a "+ pizza.getName() + "\n");
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Informer模型的代码实现主要包括以下几个方面: 1. 数据准备:Informer模型需要将时序数据作为输入。数据的准备包括将数据转换为Informer模型所需的格式,并构建dataloader和dataset。这些代码主要负责数据的读取和处理。 2. 编码器和解码器:Informer模型的核心部分是编码器和解码器。编码器负责将输入的时序数据进行编码,解码器负责将编码后的数据解码为预测结果。编码器的实现中,最具创新性的是稀疏注意力机制和蒸馏操作,这些代码实现过程比较复杂。 3. 时间戳编码和数据编码:Informer模型还采用了时间戳编码和数据编码的方式来对输入数据进行编码。这些代码实现了时间戳编码、数据编码和绝对位置编码的统一embedding。 总结起来,Informer模型的代码实现涵盖了数据准备、编码器和解码器的实现以及时间戳编码和数据编码的统一embedding。这些代码实现过程相对复杂,需要详细分析模型的论文和官方代码来理解和复现。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [CGAN—LSGAN的原理与实现与informer代码理解(1)](https://blog.csdn.net/weixin_44790306/article/details/124434860)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值