组成
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关系指针
资源资源
- http://leninkumarkoppoju.blogspot.in/2012/10/uml-relations-association-aggregation.html
- http://en.wikipedia.org/wiki/Class_diagram
参考: 快速摘要:来自Technic博客Thoughts的 JCG合作伙伴 Srividhya Umashanker的对象关联 。
翻译自: https://www.javacodegeeks.com/2013/01/quick-summary-object-associations.html