我正在学习“构建器模式”设计模式。我了解其中的大部分内容,但对new关键字感到困惑。在MealBuilder类中,In this tutorial,创建了Meal类型的对象,然后使用该对象调用方法addItem(...)。我不明白他在参数中传递了什么。我知道new关键字会创建一个类的实例(实例是否是用于创建对象的另一个词?),但他没有给它命名。例如。我了解以下内容:
Meal mealobject = new Meal();但我不明白这一点:new ChickenBurger();

最佳答案

如果你写

Meal meal = new Meal();
Item burger = new ChickenBurger();
meal.addItem(burger);


那么这将以相同的方式进行。但是,如果您不打算再次使用“汉堡”引用,则没有必要创建它。只是写作

Meal meal = new Meal();
meal.addItem(new ChickenBurger());


更简单,对于阅读代码的人来说很明显,该项目仅被添加到集合(餐)中。

请注意,这不是硬性规定。在某些情况下,您可能会决定对表达式使用命名引用将有助于阐明代码的功能,尤其是在数据类型不清楚的情况下。

10-04 17:24