Java “的目的”;加上;课堂教学方法
我正在看一个名为Product的类,它包括以下内容:Java “的目的”;加上;课堂教学方法,java,Java,我正在看一个名为Product的类,它包括以下内容: @JsonProperty("name") public void setName(String name) { this.name = name; } public Product withName(String name) { this.name = name; return this; } withName方法的用途是什么?它是如何使用的?为什么不干脆做: Product p = new Product();
@JsonProperty("name")
public void setName(String name) {
this.name = name;
}
public Product withName(String name) {
this.name = name;
return this;
}
withName方法的用途是什么?它是如何使用的?为什么不干脆做:
Product p = new Product();
p.setName("foo");
主要区别在于
with
方法返回调用对象的实例
这允许像这样的“流畅”通话
someProductBuilder.withName("bla").withPrice(100)...
从这个意义上说:一种非正式的约定,通过返回受影响的对象来区分普通setter和允许流畅使用的setter。主要区别在于
with
方法返回调用的对象实例
这允许像这样的“流畅”通话
someProductBuilder.withName("bla").withPrice(100)...
从这个意义上说:一种非正式的约定,通过返回受影响的对象将普通setter与允许流畅使用的setter区分开来。您可以采用任何一种方法,但第一种方法是尝试提供一个简单的设置,以便将多个调用链接在一起。。。比如:
Product p = new Product().withName("blah").price(1234).quantityOnHand(35);
它类似于构建器,其中您可能有另一个表示api的对象,然后以“build()”调用结束链,该调用生成您正在构建的类的实例:
Product p = ProductBuilder.newBuilder().withName("blah").price(1234).quantityOnHand(35).build();
您可以采用任何一种方法,但第一种方法是尝试提供一个链接,以便您可以将多个呼叫链接在一起。。。比如:
Product p = new Product().withName("blah").price(1234).quantityOnHand(35);
它类似于构建器,其中您可能有另一个表示api的对象,然后以“build()”调用结束链,该调用生成您正在构建的类的实例:
Product p = ProductBuilder.newBuilder().withName("blah").price(1234).quantityOnHand(35).build();
它用于通过名称获取对对象的引用,以便方法调用可以与同一对象上的其他调用链接
示例:它用于通过名称获取对对象的引用,以便方法调用可以与同一对象上的其他调用链接
示例:了解它允许的生成器模式。了解它允许的生成器模式。