Java 中的组合示例

Java中的组合是一种实现类之间拥有关系的设计技术。我们可以使用Java继承或Java对象组合来实现代码重用。

Java中的组合

Java组合是通过使用引用其他对象的实例变量来实现的。例如,一个Person拥有一个Job。让我们通过一个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组合示例的测试类,它使用person对象并获取其工资。

package com.journaldev.composition;

public class TestPerson {

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

}

Java组合的好处

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

Java组合Youtube视频

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

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