聚合是关联的一种属性,代表了两个对象之间的归属关系。即为一个类中有一个类的实体引用(类中的类)。
聚合的主要特点:
class Hello{ int i; Address World;}
为了实现代码重用
具体实例:
public class Circle {double radius;public Circle(double radius) {this.radius = radius;}double square(double radius) {return radius*radius*3.14;}
}
上面的代码创建了一个Circle类,来实现圆的面积计算
package helloworld;public class aggregation {Circle circle;public aggregation(Circle circle) {this.circle = circle;}void display() {System.out.println("The circle square is "+circle.square(circle.radius));}public static void main(String[] args) {Circle newCircle = new Circle(1);aggregation sq = new aggregation(newCircle);sq.display();}
}
在这个代码块中可以看到,aggregation中创建了一个Circle类,通过在aggregation类里面的操作修改Circle类
得到的结果如下:
The circle square is 3.14
如果一个对象只归属于一个聚集对象,那么它和聚集对象之间的关系就成为组合。
组合是一种聚合的限制形式,使用组合关系的两个类相互依赖,并且有以下特征:
public class Animal {public void name() {System.out.print("我是");}
}
Animal是一个类
public class Bird {public Animal kind;public Bird(Animal kind) {this.kind = kind;}public void names() {kind.name();}public void fly() {System.out.println("鸟,在天空飞翔");}
}
Bird是将Animal类组合到自己的类里面
package helloworld;
public class WhatAnimal {public static void main(String[] args) {// TODO Auto-generated method stubAnimal a = new Animal();Bird b = new Bird(a);b.names();b.fly();}
}
对上面两类的使用调用得到下面的结果:
我是鸟,在天空飞翔
聚合:聚合就是一种类包括一种类,但是如果没了这个类原来的类也是可以使用的
组合:组合就是一种类和一种类是相互依赖联系的,如果一个类不能使用,那么类就没有存在的意义。
本文发布于:2024-02-01 13:23:54,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170676503336907.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |