>  기사  >  Java  >  안드로이드 빌더(Builder) 모드 사례에 대한 자세한 소개

안드로이드 빌더(Builder) 모드 사례에 대한 자세한 소개

黄舟
黄舟원래의
2017-03-11 11:47:421300검색

빌더 모드 자세한 설명: http://www.php.cn/java-article-355847.html

먼저 사진을 찍어보겠습니다

안드로이드에서는 아직도 빌더 패턴을 사용하는 곳이 많은 것 같아요.

은 대략 다음과 같이 사용됩니다.

Notification noti = new Notification.Builder(context).build();AlertDialog dialog = new AlertDialog.Builder(context).create();

다음 예시와 유사하게 builder() 및 create() 전에 여러 속성을 생성할 수도 있습니다.

/**
 * author : stone
 * email  : aa86799@163.com
 * time   : 15/7/3 10 26
 */
public class TestBuilder {

    private int a;
    private String b;

    public int getA() {
        return a;
    }

    public String getB() {
        return b;
    }

    protected TestBuilder(Builder builder) {
        this.a = builder.ma;
        this.b = builder.mb;
    }

    public static class Builder {
        private int ma;
        private String mb;

        public Builder createA(int a) {
            this.ma = a;
            return this;
        }

        public Builder showB(String b) {
            this.mb = b;
            return this;
        }

        public TestBuilder build() {
            return new TestBuilder(this);
        }
    }

    public static void main(String[] args) {
        TestBuilder tb = new TestBuilder.Builder()
                .createA(88)
                .showB("susan")
                .build();
        
    }
}


참고:

1. 여기서 부품은 정적 내부 클래스 Builder를 통해 구성됩니다

2. 각 파트의 구성 메소드는 빌더를 반환합니다

3. 외부 실제 개체의 구성 메소드의 접근자는 비공개이거나 보호되어야 하므로, 이를 통해서만 생성할 수 있습니다. 내부 클래스

일반 Java-Bean과의 비교:

Bean은 생성자에서 setter 또는 여러 매개변수를 사용하여 속성에 값을 할당합니다

여기서 new Builder().a.b.c...build()를 사용하세요.

위 내용은 안드로이드 빌더(Builder) 모드 사례에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.