2011-01-15 36 views

Trả lời

20

Hãy tưởng tượng bạn có các lớp CarEngine:

public class Car { 
    private Engine engine = new Engine(); //or inject it externally 

    public void start() { 
     engine.start(); 
    } 
} 

Trong ví dụ này Car đại biểu đến tiềm ẩn Engine. Người sử dụng xe không thể trực tiếp khởi động động cơ (trừ khi anh ta là thợ cơ khí). Nhưng anh ta có thể nói với chiếc xe để bắt đầu, và chiếc xe lần lượt nói với động cơ để bắt đầu.

Bạn muốn sử dụng nó bất cứ khi nào bạn sử dụng thành phần đối tượng và bạn cần sử dụng một phương pháp của một trong các đối tượng soạn. Trong trường hợp đó, bạn tạo một phương thức ủy quyền cho nó.

+1

+1 Để mở rộng điều này. Thừa kế cũng thực hiện ủy nhiệm, ngầm với (các) phụ huynh. Những gì bạn mô tả ở trên là ủy nhiệm rõ ràng. – jer

+0

@jer Tôi nghĩ rằng thừa kế không làm đại biểu. Phái đoàn đang xử lý trách nhiệm đối với một số đối tượng khác. Đối tượng kia có thể là cùng một lớp hoặc một lớp hoàn toàn khác. Trong trường hợp thừa kế, mọi đối tượng chia sẻ cùng một tập các phương thức. – nktsg

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