builder模式怎么指定默认值
浏览量:1023
时间:2023-10-19 22:07:44
作者:采采
builder模式是一种创建对象的设计模式,它通过链式调用方法来构建对象,并且可以指定默认值。在传统的构造函数中,如果一个类有多个属性,那么在创建对象的时候就需要传入很多参数,而使用builder模式可以避免这个问题。
要指定默认值,可以在builder类中设置相应的属性的默认值,在创建对象的时候如果没有显式地设置某个属性的值,就会使用默认值。下面以一个示例来说明:
```java
public class Person {
private String name;
private int age;
private String gender;
public static class Builder {
private String name "";
private int age 0;
private String gender "";
public Builder() {}
public Builder name(String name) {
name;
return this;
}
public Builder age(int age) {
age;
return this;
}
public Builder gender(String gender) {
gender;
return this;
}
public Person build() {
return new Person(this);
}
}
private Person(Builder builder) {
;
;
;
}
// 省略getter和setter方法
}
```
在上面的代码中,Person类有三个属性:name, age, gender。Builder类中设置了这三个属性的默认值为空字符串和零。在创建Person对象时,如果不设置某个属性的值,就会使用默认值。
使用示例:
```java
Person person new ()
.name("张三")
.age(20)
.build();
```
以上代码创建了一个Person对象,设置了name为"张三",age为20,而gender使用了默认值,即空字符串。
关于重写标题的问题,根据你给出的内容,可以将标题定义为Person对象的name属性,当需要重写标题时,可以调用Builder类的name方法来设置新的值。
至于文章格式演示例子,可以考虑使用HTML来进行展示。示例代码如下:
```java
public class Article {
private String title;
private String content;
public static class Builder {
private String title;
private String content;
public Builder() {}
public Builder title(String title) {
this.title title;
return this;
}
public Builder content(String content) {
content;
return this;
}
public Article build() {
return new Article(this);
}
}
private Article(Builder builder) {
this.title builder.title;
;
}
public String toHtml() {
StringBuilder html new StringBuilder();
(" ("
" content "
"); return (); } } ``` 使用示例: ```java Article article new () .title("原始标题") .content("文章内容") .build(); String html (); (html); ``` 以上代码创建了一个Article对象,设置了标题为"原始标题",内容为"文章内容"。通过调用toHtml方法,将对象转换为HTML格式的字符串进行展示。 该示例中只是简单演示了如何使用builder模式创建对象,并且指定默认值、重写标题、文章格式演示。具体的实现可以根据需求进行扩展和修改,以满足实际应用场景。版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。
下一篇
微信每周的步数在哪里看