Java教程 目录

Java组合

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

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

Java组合示例

文件:Job.java

-- ---
------ ----- --- -
    ------- ------ -----
    ------- ---- -------
    ------- --- ---

    ------ ------ --------- -
        ------ -----
    -
    ------ ---- -------------- ----- -
        --------- - -----
    -
    ------ ---- ----------- -
        ------ -------
    -
    ------ ---- -------------- ------- -
        ----------- - -------
    -
    ------ --- ------- -
        ------ ---
    -
    ------ ---- --------- --- -
        ------- - ---
    -
-

文件:Person.java

------ ----- ------ -

    -- -- ----- --
    ------- --- ----
    ------ ---------
        ------------ ------
        ---------------------
    -
    ------ ---- ----------- -
        ------ ----------------
    -

-

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

------ ----- ---------- -

    ------ ------ ---- ------------- ----- -
        ------ ------ - --- ---------
        ---- ------ - -------------------
    -

-

Java组合的好处

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

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

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

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


上一篇:Java this关键字
下一篇:Java继承