技术开发 频道

类与类关系的UML图与代码表现


IT168技术文档】 
    类与类之间的关系对于理解面向对象具有很重要的作用,以前在面试的时候也经常被问到这个问题,在这里我就介绍一下。
类与类之间存在以下关系: 
    (1)泛化(Generalization) 
    (2)关联(Association) 
    (3)依赖(Dependency) 
    (4)聚合(Aggregation) 

    UML图与应用代码例子: 
    1.泛化(Generalization) 
    [泛化] 
    表示类与类之间的继承关系,接口与接口之间的继承关系,或类对接口的实现关系。一般化的关系是从子类指向父类的,与继承或实现的方法相反。 
    [具体表现] 
    父类 父类实例=new 子类() 
    [UML图](图1.1)

    图1.1 Animal类与Tiger类,Dog类的依赖关系 

    [代码表现]
class Animal{} class Tiger extends Animal{} public class Test { public void test() { Animal a=new Tiger(); } }
    2.依赖(Dependency) 
    [依赖] 
    对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务时,这两个对象之间主要体现为依赖关系。 
    [具体表现] 
    依赖关系表现在局部变量,方法的参数,以及对静态方法的调用 
    [现实例子] 
    比如说你要去拧螺丝,你是不是要借助(也就是依赖)螺丝刀(Screwdriver)来帮助你完成拧螺丝(screw)的工作 
    [UML表现](图1.2)


    图1.2 Person类与Screwdriver类的依赖关系 

    [代码表现]
public class Person{ /** 拧螺丝 */ public void screw(Screwdriver screwdriver){ screwdriver.screw(); } }
   
0
相关文章