java组合_Java组合

java中的组合是在类中实现has-a关系的设计技术。可以在java中使用java继承或对象组合来重用代码。在Java编程中表现出来的就是:一个类使用另一个类作为它的成员。

通过使用引用其他对象的实例变量来实现Java组合。例如,一个人(Person)有一份工作(Job)。看一下java组合示例代码。

Java组合示例

文件:Job.java

// 工作类

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;

}

}

文件:Person.java

public class Person {

// 组成 has-a 关系

private Job job;

public Person(){

this.job=new Job();

job.setSalary(1000L);

}

public long getSalary() {

return job.getSalary();

}

}

下面是一个java组合示例的测试类,它使用Person对象并获得工资。

public class TestPerson {

public static void main(String[] args) {

Person person = new Person();

long salary = person.getSalary();

}

}

Java组合的好处

上述测试程序不受Job对象中任何更改的影响。如果要代码重用,并且两个类之间的关系是has-a,那么应该使用组合而不是继承。

在java中使用组合的好处是可以控制其他对象对客户端类的可见性,并仅重用需要的东西。

另外,如果其他类实现中有任何更改,例如:getSalary()方法返回String,需要更改Person类以适应它,但客户端类不需要更改。

组合允许在需要时创建后端类,例如,可以在需要时更改Person类的getSalary()方法以在运行时初始化Job对象。

¥ 我要打赏

纠错/补充

收藏

加QQ群啦,易百教程官方技术学习群

注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值