溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

示例:Java Builder 模式實現一個簡單的類

發布時間:2025-01-23 19:48:39 來源:億速云 閱讀:116 作者:小樊 欄目:編程語言

在 Java 中,Builder 模式是一種創建型設計模式,它允許你以靈活且可讀的方式構建復雜對象。以下是一個使用 Builder 模式實現的簡單類示例:

首先,我們創建一個名為 Person 的類,該類具有多個屬性:

public class Person {
    private String firstName;
    private String lastName;
    private int age;
    private String address;

    private Person(Builder builder) {
        this.firstName = builder.firstName;
        this.lastName = builder.lastName;
        this.age = builder.age;
        this.address = builder.address;
    }

    public String getFirstName() {
        return firstName;
    }

    public String getLastName() {
        return lastName;
    }

    public int getAge() {
        return age;
    }

    public String getAddress() {
        return address;
    }

    public static class Builder {
        private String firstName;
        private String lastName;
        private int age;
        private String address;

        public Builder setFirstName(String firstName) {
            this.firstName = firstName;
            return this;
        }

        public Builder setLastName(String lastName) {
            this.lastName = lastName;
            return this;
        }

        public Builder setAge(int age) {
            this.age = age;
            return this;
        }

        public Builder setAddress(String address) {
            this.address = address;
            return this;
        }

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

在這個例子中,我們使用了一個嵌套的靜態類 Builder 來構建 Person 類的實例。Builder 類具有與 Person 類相同的屬性,并為每個屬性提供了設置方法。每個設置方法都返回 Builder 實例本身,以便我們可以使用鏈式調用。

要使用 Builder 模式創建一個 Person 對象,我們可以這樣做:

public class Main {
    public static void main(String[] args) {
        Person person = new Person.Builder()
                .setFirstName("John")
                .setLastName("Doe")
                .setAge(30)
                .setAddress("123 Main St")
                .build();

        System.out.println("First Name: " + person.getFirstName());
        System.out.println("Last Name: " + person.getLastName());
        System.out.println("Age: " + person.getAge());
        System.out.println("Address: " + person.getAddress());
    }
}

這個例子展示了如何使用 Builder 模式創建一個 Person 對象,并通過鏈式調用設置其屬性。這種方式使得對象的創建過程更加靈活和可讀。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女