请在 下方输入 要搜索的题目:

定义类与类之间的交互关系

定义类与类之间的交互关系

发布时间:2024-09-05 14:22:44
推荐参考答案 ( 由 题搜搜 官方老师解答 )
答案:泛化、实现、组合(关联、组合、聚合,多用组合少用继承)、依赖 1、泛化(Generalization)可以简单理解为继承关系 public class A { ... } public class B extends A { ... } 2、实现(Realization)一般是指接口和实现类之间的关系。 public interface A {...} public class B implements A { ... } 3、聚合(Aggregation)是一种包含关系,A 类对象包含 B 类对象,B 类对象的生命周期可以不依赖 A 类对象的生命周期,也就是说可以单独销毁 A 类对象而不影响 B 对象,比如课程与学生之间的关系。 public class A { private B b; public A(B b) { this.b = b; } } 4、组合(Composition)也是一种包含关系。A 类对象包含 B 类对象,B 类对象的生命周期依赖 A 类对象的生命周期,B 类对象不可单独存在,比如鸟与翅膀之间的关系。 public class A { private B b; public A() { this.b = new B(); } } 5、关联(Association)是一种非常弱的关系,包含聚合、组合两种关系。具体到代码层面,如果 B 类对象是 A 类的成员变量,那 B 类和 A 类就是关联关系。 public class A { private B b; public A(B b) { this.b = b; } } 或者 public class A { private B b; public A() { this.b = new B(); } } 6、依赖(Dependency)是一种比关联关系更加弱的关系,包含关联关系。不管是 B 类对象是 A 类对象的成员变量,还是 A 类的方法使用 B 类对象作为参数或者返回值、局部变量,只要 B 类对象和 A 类对象有任何使用关系,我们都称它们有依赖关系。 public class A { private B b; public A(B b) { this.b = b; } } 或者 public class A { private B b; public A() { this.b = new B(); } } 或者 public class A { public void func(B b) { ... } }
登录 - 搜搜题库网
立即注册
注册 - 搜搜题库网
立即登录