Java組合示例

在Java中,組合是一種設計技術,用於在類別中實現“有一”的關係。我們可以使用Java繼承或Java中的對象組合來實現代碼重用。

Java中的組合

Java組合是通過使用引用其他對象的實例變量來實現的。例如,一個有一個工作。讓我們通過一個Java組合示例代碼來看看這一點。

Java組合示例

package com.journaldev.composition;

public class Job {
    private String role;
    private long salary;
    private int id;
        
    public String getRole() {
        return role;
    }
    public void setRole(String role) {
        this.role = role;
    }
    public long getSalary() {
        return salary;
    }
    public void setSalary(long salary) {
        this.salary = salary;
    }
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    
    
}
package com.journaldev.composition;

public class Person {

    //組合有一關係
    private Job job;
   
    public Person(){
        this.job=new Job();
        job.setSalary(1000L);
    }
    public long getSalary() {
        return job.getSalary();
    }

}

以下是Java組合示例的測試類,該類使用人對象並獲取其薪水。

package com.journaldev.composition;

public class TestPerson {

    public static void main(String[] args) {
        Person person = new Person();
        long salary = person.getSalary();
    }

}

Java組合的好處

注意,上面的 Java 组合测试程序不受 Job 对象的任何更改的影响。如果你正在寻找代码重用并且两个类之间的关系是拥有,那么你应该使用组合而不是继承。在 Java 中使用组合的好处是我们可以控制其他对象对客户类的可见性,并且仅重用我们需要的部分。此外,如果其他类实现中有任何更改,例如getSalary返回 String,我们需要更改 Person 类来适应,但客户类不需要更改。组合允许在需要时创建后端类,例如我们可以在需要时更改PersongetSalary方法以在运行时初始化 Job 对象。进一步阅读:你知道 Java 编程中的最佳实践之一是使用组合而不是继承,查看这篇文章以获取组合与继承的详细分析

Java 组合 Youtube 视频

最近我创建了一个YouTube视频,详细解释了Java中的组合,请在下方观看。 https://www.youtube.com/watch?v=VfTiLE3RZds 这就是关于Java中的组合或Java组合示例的全部内容。我希望您在设计应用程序类时会发现它有用。参考:Wikipedia页面

Source:
https://www.digitalocean.com/community/tutorials/composition-in-java-example