Làm cách nào để bạn thiết lập kết nối giữa hai lớp khi bạn đang viết Chương trình Java ? Nó đơn giản. Bạn có thể sử dụng một khái niệm được gọi là liên kết. Nghe thú vị phải không? Trong bài viết này, hãy xem Hiệp hội trong chi tiết.
Các chủ đề được thảo luận trong bài viết này là:
Hiệp hội là gì?
Liên kết trong Java là một kết nối hoặc mối quan hệ giữa hai các lớp học được thiết lập thông qua các đối tượng . Mối quan hệ kết hợp cho biết cách các đối tượng biết nhau và cách chúng sử dụng chức năng của nhau. Nó có thể là một-một, một-nhiều, nhiều-một và nhiều-nhiều.
- Ví dụ,một người chỉ có thể có một hộ chiếu. Đó là một ' một đối một ”Mối quan hệ.
- Nếu chúng ta nói về sự liên kết giữa Ngân hàng và Nhân viên, thì một ngân hàng có thể có nhiều nhân viên, Vì vậy, nó là “ một-nhiều ”Mối quan hệ.
- Tương tự như vậy, mỗi thành phố tồn tại đúng một tiểu bang, nhưng một tiểu bang có thể có nhiều thành phố, đó là “ nhiều-một ”Mối quan hệ.
- Cuối cùng, nếu chúng ta nói về sự liên kết giữa một giáo viên và một học sinh, nhiều học sinh có thể được liên kết với một giáo viên và một học sinh cũng có thể được liên kết với nhiều giáo viên nhưng cả hai đều có thể được tạo hoặc xóa một cách độc lập. Đây là một ' nhiều nhiều ”Mối quan hệ.
Hãy hiểu về Hiệp hội với một ví dụ.
package MyPackage import java.util. * class CityClass {private String cityName public String getCityName () {return cityName} public void setCityName (String cityName) {this.cityName = cityName} @Override public String toString () {return cityName}} lớp State {private String stateName Danh sách các thành phố public String getStateName () {return stateName} public void setStateName (String stateName) {this.stateName = stateName} public List getCities () {return citys} public void setState (List citys) {this.citys = citys}} public class AssociationExample {public static void main (String [] args) {State state = new State () state.setStateName ('California') CityClass city = new CityClass () city.setCityName ('Los Angeles') CityClass city2 = new CityClass () city2.setCityName ('San Diago') Danh sách empList = new ArrayList () empList.add (city) empList.add (city2) state.setState (empList) System.out.println (state.getCities () + 'là các thành phố trong tiểu bang' + state.getStateName ())}}
Đầu ra:
[Los Angeles, San Diago] là các thành phố ở tiểu bang California
Như bạn có thể thấy, trong chương trình ví dụ này có hai lớp, cụ thể là Những trạng thái và các thành phố. Hai lớp riêng biệt này được liên kết thông qua Các đối tượng . Hơn nữa, mỗi thành phố tồn tại đúng một tiểu bang, nhưng một tiểu bang có thể có nhiều thành phố, do đó thuật ngữ mối quan hệ “nhiều-một”. Quan trọng là, liên kết trong Java có hai dạng đặc biệt. Hãy kiểm tra chúng.
Hai hình thức liên kết
Thành phần và Tổng hợp là hai hình thức liên kết đặc biệt. Hãy kiểm tra chúng với sự trợ giúp của một ví dụ.
Thành phần
Nó là mộtLoại 'thuộc về'sự liên kết. Nó chỉ đơn giản có nghĩa là một trong các đối tượng là một cấu trúc lớn hơn về mặt logic, chứa đối tượng kia. Nói cách khác, nó là một phần hoặc thành viên của đối tượng lớn hơn. Ngoài ra, nó thường được gọi là Mối quan hệ 'có-một' (trái ngược với quan hệ 'là một', là ).
Đối vớiví dụ, một tòa nhà có một căn phòng, hay nói cách khác, một căn phòng thuộc về một tòa nhà. Thành phần là một loại quan hệ “có-một” mạnh mẽ bởi vì vòng đời của các đối tượng được gắn với nhau. Có nghĩa là nếu chúng ta phá hủy đối tượng chủ sở hữu, các thành viên của nó cũng sẽ bị tiêu diệt cùng với nó. Ví dụ, nếu tòa nhà bị phá hủy, căn phòng cũng bị phá hủy trong ví dụ trước của chúng ta. Nhưng, lưu ý rằng điều đó không có nghĩa là đối tượng chứa không thể tồn tại nếu không có bất kỳ bộ phận nào của nó. Ví dụ, nếu chúng ta phá bỏ tất cả các phòng bên trong một tòa nhà, tòa nhà sẽ vẫn tồn tại.
java với sức mạnh của
Tổng hợp
Tổng hợp cũng là một mối quan hệ “có-một”, nhưng, điều phân biệt nó với thành phần, là vòng đời của các đối tượng không bị ràng buộc. B oth các mục có thể tồn tại riêng lẻ có nghĩa là việc kết thúc một thực thể sẽ không ảnh hưởng đến thực thể kia. Cả hai đều có thể tồn tại độc lập với nhau. Do đó, nó thường được gọi là hiệp hội tuần.
Hãy lấy ví dụ về một người chơi và một đội. Người chơi là một phần của đội có thể tồn tại ngay cả khi đội không còn tồn tại.Lý do chính tại sao bạn cần Tổng hợp là duy trì khả năng tái sử dụng mã.
Điều này đưa chúng ta đến phần cuối của bài viết này, nơi chúng ta đã tìm hiểu về Hiệp hội trong .
Nếu bạn thấy bài viết này về “Liên kết trong Java” có liên quan, hãy xem một công ty học trực tuyến đáng tin cậy với mạng lưới hơn 250.000 người học hài lòng trải dài trên toàn cầu. Nếu bạn gặp bất kỳ câu hỏi nào, vui lòng đặt tất cả câu hỏi của bạn trong phần nhận xét của “Hiệp hội trong Java” và nhóm của chúng tôi sẽ sẵn lòng trả lời.