我正在学习“构建器模式”设计模式。我了解其中的大部分内容,但对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());
更简单,对于阅读代码的人来说很明显,该项目仅被添加到集合(餐)中。
请注意,这不是硬性规定。在某些情况下,您可能会决定对表达式使用命名引用将有助于阐明代码的功能,尤其是在数据类型不清楚的情况下。