工具-UML【ROSE】关系图

UML类关系图

1.  关联

关联,强依赖,在 java中的表现为成员变量,通过构造器或方法注入


publicclassStudent{

   privateHomeInfo homeInfo;

   publicStudent(HomeInfo homeInfo){

        this.homeInfo = homeInfo;

   }

   publicvoidsetHomeInfo(HomeInfo homeInfo){

        this.homeInfo = homeInfo;

   }

}

2. 依赖

依赖,在java中的表现为方法变量,或方法内变量


publicclassDriver{

   publicvoiddrive(Car car){

        System.out.println("司机开" + car.getName()+ "");

   }

   publicvoiddriveBus(){

        Car car = new Car("公交");

        System.out.println("司机开" + car.getName()+ "");

   }

}

3. 泛化

泛化(继承),在java中的表现为继承抽象类、接口、实体类


publicclassCarFactory extendsAbstractCarFactory{

   @SuppressWarnings("unchecked")

   @Override

   public<T extendsCar> T createCar(Class<T> c){

        Car car = null;

        try{

            car = (Car)Class.forName(c.getName()).newInstance();

        }catch(InstantiationException e){

            thrownew RuntimeException(e);

        }catch(IllegalAccessException e){

            thrownew RuntimeException(e);

        }catch(ClassNotFoundException e){

            thrownew RuntimeException(e);

        }

        return (T)car;

  }

}

4.  实现

实现,在java中的表现为实现接口


publicclassUserServiceImpl implements UserService{

   publicUser getUserInfo(String userName){

        returnnew User();

   }

}

5. 组合

组合,强聚合,整体和部分的关系,在java中的表现为部分为成员变量且在构造函数或语句块中初始化,生命周期同时创建同时销毁(同生共死),业务上部分不能和其他整体换,比如一个人的脑袋不能和其他人换,再比如一个公司的财务部门不能和其他公司换


publicclassPerson{

   privateHead head;

   publicPerson(String name){

        head= newHead(name);

        System.out.println(head.getName()+ "有毛病");

   }

}

6.  聚合

聚合,整体和部分的关系,在java中的表现为部分为成员变量且在构造函数或方法中注入,业务上部分可以和其他整体换,比如一辆车的引擎可以和其他车同类型引擎换,再比如一个雁群中的一个大雁可以和其他雁群换


publicclassGeeseGroup{

   privateList<Geese> geeseList= newArrayList<Geese>();

   publicGeeseGroup(List<Geese> geeseList){

        this.geeseList = geeseList;

   }

   publicvoidaddGeese(Geese geese){

        geeseList.add(geese);

   }

} 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值