Builder 방식 으로 대상 예제 코드 를 만 듭 니 다.
대상 을 만 들 려 면 데 이 터 를 초기 화해 야 합 니 다.데이터 매개 변 수 는 쉽게 구별 되 지 않 습 니 다.전송 할 수 있 고 전송 하지 않 을 수 있 을 때 Builder 를 사용 하여 만 드 는 방법 을 고려 할 수 있 습 니 다.다른 사람 이 쓴 Bulder 방식 으로 호출 하 는 것 을 볼 때마다 so cool 이 라 고 생각 합 니 다.자신 도 Builder 방식 으로 대상 을 만 듭 시다.
다음은 더 이상 할 말 이 없 으 니 상세 한 소 개 를 살 펴 봅 시다.
현재 일련의 인원 의 기본 정 보 를 입력 하 는 예:
Person 클래스 만 들 기
public class Person {
private String name;
private int age;
private float height;
private float weight;
public Person(String name, int age, float height, float weight) {
this.name = name;
this.age = age;
this.height = height;
this.weight = weight;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public float getHeight() {
return height;
}
public void setHeight(float height) {
this.height = height;
}
public float getWeight() {
return weight;
}
public void setWeight(float weight) {
this.weight = weight;
}
}
그러면 생 성 대상 은 바로 이 렇 습 니 다.뒤의 매개 변 수 는 무엇 을 나타 내 는 지 쉽게 알 수 없고 가 독성 이 강하 지 않 습 니 다.
new Person(" ",18,150,43);
new Person(" ",17,164,48);
Builder 모드 로 개조Builder 클래스 를 만 듭 니 다.속성 은 Person 클래스 와 마찬가지 로 SetXxx()방법 을 추가 합 니 다.
static class Builder{
private String name;
private int age;
private float height;
private float weight;
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
public void setHeight(float height) {
this.height = height;
}
public void setWeight(float weight) {
this.weight = weight;
}
}
Person 의 구조 방법 을 Builder 대상 으로 바 꾸 고 Builder 대상 의 속성 치 를 모두 Person 대상 에 부여 합 니 다.
public Person(Builder builder){
this.name = builder.name;
this.age = builder.age;
this.height = builder.height;
this.weight = builder.weight;
}
Builder 클래스 를 개조 합 니 다.관건 적 인 단 계 는 각 set 방법 을 Builder 클래스 대상 으로 되 돌려 주 는 것 입 니 다.그러면 set 방법 을 계속 유쾌하게 연속 으로 호출 할 수 있 습 니 다.마지막 으로 build()생 성 방법 을 Person 대상 으로 되 돌려 줍 니 다.
static class Builder{
private String name;
private int age;
private float height;
private float weight;
public Builder setName(String name) {
this.name = name;
return this;
}
public Builder setAge(int age) {
this.age = age;
return this;
}
public Builder setHeight(float height) {
this.height = height;
return this;
}
public Builder setWeight(float weight) {
this.weight = weight;
return this;
}
public Person build(){
return new Person(this);
}
}
각 set 방법의 반환 값 형식 을 Builder 로 바 꾸 고 매번 builder 대상 으로 돌아 가 야 set 방법 을 연속 적 인 체인 호출 을 실현 할 수 있 습 니 다.build()방법 은 person 대상 을 만 들 고 Person 의 파 라 메 트릭 구조 방법 을 호출 하여 builder 대상 의 속성 을 순서대로 person 대상 에 부여 합 니 다.person 의 속성 값 은 체인 호출 set 방법의 각 값 입 니 다.
Builder 모드 를 사용 하여 Person 대상 을 만 들 면 코드 의 가 독성 이 크게 향상 되 었 음 을 알 수 있 습 니 다.주:Builder 생 성 방식 은 생 성 대상 이 적은 경우 에 사 용 됩 니 다.
Person person = new Person.Builder()
.setName(" ")
.setAge(20)
.setHeight(162)
.setWeight(45)
.build();
총결산이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가치 가 있 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
AS를 통한 Module 개발1. ModuleLoader 사용 2. IModuleInfo 사용 ASModuleOne 모듈...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.