2009-10-29 39 views

Trả lời

120

Aggregationphần là gần như hoàn toàn giống hệt nhau ngoại trừ việc phần được sử dụng khi cuộc sống của đứa trẻ được điều khiển hoàn toàn bởi công ty mẹ.

Aggregation

Car -> Tires 

Các Tires có thể cất cánh của đối tượng Car và cài đặt trên một chương trình khác. Ngoài ra, nếu chiếc xe được tổng cộng, lốp xe không nhất thiết phải bị phá hủy.

Thành phần

Body -> Blood Cell 

Khi đối tượng Body bị phá hủy các BloodCells bị phá hủy với nó.

phụ thuộc

Một mối quan hệ giữa hai đối tượng khi việc thay đổi có thể ảnh hưởng đến người khác.

+10

Hài hước, tôi chỉ đọc một hướng dẫn nơi ví dụ về lốp xe được sử dụng để minh họa cho bố cục ... – mouviciel

+11

thú vị, tôi đoán nó phụ thuộc vào cách bạn nhìn vào nó. Tôi không thấy làm thế nào phá hủy các đối tượng xe cũng yêu cầu rằng lốp xe cũng bị phá hủy. Ngoài ra, bạn có thể lấy lốp xe của một chiếc xe và đặt chúng trên một chiếc xe khác nhau. Đó là vấn đề với sự tương tự mặc dù tôi cho là vậy. –

+1

Có, thực sự tôi đã hiểu tập hợp và bố cục không phải với các phép so sánh như vậy mà với mã thực tế. – mouviciel

381

Tổng hợp ngụ ý mối quan hệ mà trẻ có thể tồn tại độc lập với cha mẹ. Ví dụ: Lớp (phụ huynh) và Học sinh (con). Xóa Lớp và Học sinh vẫn còn tồn tại.

Thành phần ngụ ý mối quan hệ mà trẻ không thể tồn tại độc lập với cha mẹ. Ví dụ: Nhà (cha mẹ) và Phòng (trẻ em). Các phòng không tồn tại riêng biệt với Ngôi nhà.

Hai hình thức trên là ngăn chặn (do đó các mối quan hệ cha-con).

Phụ thuộc là một dạng yếu hơn của mối quan hệ và trong điều khoản mã chỉ ra rằng một lớp sử dụng khác theo tham số hoặc kiểu trả về.

Phụ thuộc là một hình thức liên kết .

+1

Đề cập đến thực tế rằng tập hợp và thành phần là chuyên môn hóa của hình thức mối quan hệ ngăn chặn và nó sẽ là hoàn hảo. – alphazero

+1

:-) Không nói rằng bạn đúng hay sai, nhưng hãy gees những phân loại này. Class/Student == Aggregation? ... Không theo JavaPapers.com. http://javapapers.com/oops/association-aggregation-composition-abstraction-generalization-realization-dependency/ "Lớp học chứa học sinh. Học sinh không thể tồn tại mà không có lớp. Có tồn tại thành phần giữa lớp và học sinh." – TallPaul

+0

Btw, cá nhân tôi đồng ý với bạn ... – TallPaul

6

Đối tượng được liên kết với mối quan hệ sẽ không tồn tại bên ngoài đối tượng chứa. Ví dụ là một cuộc hẹn và chủ sở hữu (một người) hoặc một lịch; một TestResult và một bệnh nhân.

Mặt khác, một đối tượng được được tổng hợp bởi một đối tượng có chứa có thể tồn tại bên ngoài đối tượng chứa đối tượng đó. Ví dụ là Cửa và Nhà; một nhân viên và một bộ phận.

Một phụ thuộc liên quan đến hợp tác hoặc đoàn, nơi một yêu cầu đối tượng dịch vụ từ một đối tượng khác và là do phụ thuộc vào đối tượng đó. Là khách hàng của dịch vụ, bạn muốn giao diện dịch vụ vẫn không đổi, ngay cả khi các dịch vụ trong tương lai được cung cấp.

5

Tổng hợp và thành phần là các thuật ngữ mà hầu hết mọi người trong thế giới OO đã có được thông qua UML. Và UML thực hiện một công việc rất kém trong việc xác định các thuật ngữ này, như đã được chứng minh bởi, ví dụ, Henderson-Sellers và Barbier ("Cái gọi là tổng hợp này là gì?", "Chính thức hóa mối quan hệ toàn bộ trong ngôn ngữ mô hình hóa thống nhất "). Tôi không nghĩ rằng định nghĩa kết hợp và bố cục nhất quán có thể được đưa ra nếu bạn quan tâm đến việc tuân thủ UML. Tôi đề nghị bạn xem các tác phẩm được trích dẫn.

Về sự phụ thuộc, đó là mối quan hệ rất trừu tượng giữa các loại (không phải đối tượng) có thể có nghĩa là hầu hết mọi thứ.

0

Ngăn chặn: - Ở đây để truy cập đối tượng bên trong, chúng tôi phải sử dụng đối tượng bên ngoài. Chúng ta có thể tái sử dụng đối tượng chứa. Tổng hợp: - Ở đây chúng ta có thể truy cập đối tượng bên trong một lần nữa và một lần nữa mà không cần sử dụng đối tượng bên ngoài.

1

Một đối tượng có thể chứa một đối tượng khác như một phần thuộc tính của nó.

  1. tài liệu chứa các câu chứa từ.
  2. Hệ thống máy tính có đĩa cứng, ram, bộ xử lý, v.v.

Vì vậy ngăn chặn không cần thiết. ví dụ: hệ thống máy tính có bảo hành.

39

Tổng hợp - phần có thể chia tách cho toàn bộ. Phần này có một bản sắc riêng của nó, tách biệt với những gì nó là một phần của nó. Bạn có thể chọn phần đó và di chuyển nó đến một đối tượng khác. (ví dụ thế giới thực: bánh xe -> ô tô, máu -> cơ thể)

Thành phần - phần không thể tách rời của toàn bộ. Bạn không thể di chuyển phần này sang đối tượng khác. giống như một tài sản. (ví dụ thế giới thực: đường cong -> đường, cá tính -> người, max_speed -> ô tô, tài sản của đối tượng -> đối tượng)

Lưu ý rằng mối quan hệ là tổng hợp trong một thiết kế có thể là bố cục trong một thiết kế khác. Tất cả về cách quan hệ được sử dụng trong thiết kế cụ thể đó.

sự phụ thuộc - nhạy cảm với thay đổi. (lượng mưa -> thời tiết, vị trí -> phần thân)

Lưu ý: "Máu" -> Máu "có thể là" Thành phần "vì Tế bào máu không thể tồn tại mà không có thực thể gọi là Máu" Máu "-> Cơ thể" có thể là "tập hợp" như máu có thể tồn tại mà không có thực thể được gọi là cơ thể.

Các vấn đề liên quan