查看原文
其他

【Java编程教程】详解Java 聚合

点击关注 👉 Java面试那些事儿 2023-09-01

整理:Java面试那些事儿


如果一个类有一个实体引用,它被称为聚合。聚合表示 HAS-A 关系。


考虑一种情况,Employee 对象包含许多信息,如 id、name、emailId 等。它包含一个名为 address 的对象,它包含自己的信息,如城市、州、国家、邮政编码等,如下所示。

class Employee{ int id; String name; Address address;//地址是一个类 ... }


在这种情况下,Employee 有一个实体引用地址,所以关系是 Employee HAS-A 地址。


文末福利
文末领取:651页Java面试题库


# 为什么要使用聚合?


  • 为了代码的可重用性。


# 聚合的简单示例


在这个例子中,我们在 Circle 类中创建了 Operation 类的引用。


class Operation{ int square(int n){ return n*n; } }
class Circle{ Operation op;//聚合 double pi=3.14;
double area(int radius){ op=new Operation(); int rsquare=op.square(radius);//代码可重用性(即委托方法调用) return pi*rsquare; }
public static void main(String args[]){ Circle c=new Circle(); double result=c.area(5); System.out.println(result); } }


输出:

78.5


# 什么时候使用聚合?


# 理解有意义的聚合示例


在这个例子中,Employee 有一个地址对象,地址对象包含它自己的信息,如城市、州、国家等。在这种情况下,关系是 Employee HAS-A 地址。


Address.java

public class Address { String city,state,country;
public Address(String city, String state, String country) { this.city = city; this.state = state; this.country = country; } }


Emp.java

public class Emp { int id; String name; Address address;
public Emp(int id, String name,Address address) { this.id = id; this.name = name; this.address=address; }
void display(){ System.out.println(id+" "+name); System.out.println(address.city+" "+address.state+" "+address.country); }
public static void main(String[] args) { Address address1=new Address("gzb","UP","india"); Address address2=new Address("gno","UP","india");
Emp e=new Emp(111,"varun",address1); Emp e2=new Emp(112,"arun",address2);
e.display(); e2.display();
} }


输出:

111 varungzb UP india112 arungno UP india



程序员技术交流群


扫码进群记得备注:城市、昵称和技术方向


热门推荐:


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存