快速摘要:对象关联

本文深入解析了UML中各类关系的定义与应用,包括组成、聚合、相依性、抽象化、实现与概括,详细说明了这些关系在类设计中的具体体现及区别。



组成

final class Company{
private final Employee Employee;
{
    Company(EmpDetails details) {
    engine = new Employee(details);
  }
   void assign() {
      emp.work();
   } 
}

聚合

final class Company{
  private Employee engine;
  void addEmployee(Employee emp) {
    this.emp = emp;
  }
  void assign() {
    if (emp != null)
      emp.work();
  }
}

相依性

final class Company{
  void assign(Employee emp) {
    if (emp != null)
      emp.work();
  }
}

抽象化

public interface Employee{
 public void work();
 public void off();
 public void quit();
}

实现

public abstract class Engineer implements Employee
{
 public void work();
 public void off();
 public void quit();
}

概括

public class SWEngineer extends Engineer
{
 public void work()
 {
  System.out.println('SW Engineer working');
 }
 public void off()
 {
  System.out.println('SW Engineer is off today');
 }

 public void quit()
 {
  System.out.println('SW Engineer is quitting');
 }

}

人际关系

协会 定义类之间的关系。 组合和聚合是关联的类型
组成 雇员被封装在公司内部。 外界无法获得对员工的推荐。 与公司一起创建和销毁员工
聚合 公司还通过雇员履行其职责,但是雇员并不总是公司的内部部分。 员工可以互换,甚至完全罢免。 注入员工后,员工参考可以存在于公司外部。
相依性 该公司没有员工参考。 它仅收到员工对操作范围的引用。 公司依赖Employee对象执行操作
抽象化 定义实施者应遵循的基本操作。 员工界面列出了员工的一般行为
实现 一个类实现由其他其他类或接口定义的行为
概括 作为父类的特殊形式的类

UML关系指针

资源资源

参考: 快速摘要:来自Technic博客Thoughts的 JCG合作伙伴 Srividhya Umashanker的对象关联

翻译自: https://www.javacodegeeks.com/2013/01/quick-summary-object-associations.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值