正在加载图片...
Rectangle (ordered)/4 Point Format 图7-6类的组合与聚合关系 Public Rectangle public Arraylist Points; public Format format; public Rectangle(float x1,float y1,float x2,float y2,float x3,float y3,float x4, float y4){ Points.add(new point(x1,y1)); Points.add(new point(x2,y2)); Points.add(new point(x3,y3)); Points.add(new point(x4,y4)); } Public SetFormat(Format format){ this.format=format; } 构造函数不同 聚合类的构造函数中包含了另一个类作为参数。Rectangle的构造函数中要 用到Format对象作为参数传递进来。Format可以脱离Rectangle而独立存在。 组合类的构造函数中包含了另一个类的实例化。表明Rectangle在实例化之 前,一定要先实例化Poit类,这两个类紧密的耦合在一起,同生共灭。一个 Rectangle对象内部的Point对象是不可以脱离该Rectangle对象而独立存在的。 ●信息的封装性不同。 在聚合关系中,客户端可以同时了解Rectangle和Format对象,因为它们都 是独立的。在组合关系中,客户端只认识Rectangle对象,根本就不知道它所包 含的Point对象的存在。 (4)继承关系。图 7-6 类的组合与聚合关系 Public Rectangle { public Arraylist Points; public Format format; public Rectangle(float x1, float y1, float x2, float y2, float x3, float y3, float x4, float y4){ Points.add(new point(x1, y1)); Points.add(new point(x2, y2)); Points.add(new point(x3, y3)); Points.add(new point(x4, y4)); } Public SetFormat(Format format) { this.format = format; } }  构造函数不同 聚合类的构造函数中包含了另一个类作为参数。 Rectangle 的构造函数中要 用到 Format 对象作为参数传递进来。Format 可以脱离 Rectangle 而独立存在。 组合类的构造函数中包含了另一个类的实例化。 表明 Rectangle 在实例化之 前,一定要先实例化 Point 类,这两个类紧密的耦合在一起,同生共灭。一个 Rectangle 对象内部的 Point 对象是不可以脱离该 Rectangle 对象而独立存在的。  信息的封装性不同。 在聚合关系中,客户端可以同时了解 Rectangle 和 Format 对象,因为它们都 是独立的。在组合关系中,客户端只认识 Rectangle 对象,根本就不知道它所包 含的 Point 对象的存在。 (4)继承关系
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有