2012-10-15 28 views

Trả lời

52

Polymorphism có thể đạt được thông qua ghi đè. Nói một cách ngắn gọn, đa hình đề cập đến khả năng của một đối tượng để cung cấp các hành vi khác nhau (sử dụng các cách triển khai khác nhau) tùy thuộc vào bản chất riêng của nó. Cụ thể, tùy thuộc vào vị trí của nó trong phân cấp lớp.

Method Overriding là khi một phương thức được xác định trong một siêu lớp hoặc giao diện được xác định lại bởi một trong các lớp con của nó, do đó sửa đổi/thay thế hành vi mà lớp cha cung cấp. Quyết định gọi một thực hiện hay cách khác được thực hiện động trong thời gian chạy, tùy thuộc vào đối tượng mà thao tác được gọi từ đó. Lưu ý rằng chữ ký của phương thức vẫn giữ nguyên khi ghi đè.

Method Overloading không liên quan đến đa hình. Nó đề cập đến việc xác định các hình thức khác nhau của một phương pháp (thường là bằng cách nhận số tham số hoặc loại khác nhau). Nó có thể được xem như là đa hình tĩnh. Quyết định gọi thực hiện hoặc một quyết định khác được thực hiện tại thời điểm mã hóa. Lưu ý trong trường hợp này chữ ký của phương thức phải thay đổi.

Operator overloading là một khái niệm khác nhau, liên quan đến đa hình, trong đó đề cập đến khả năng của một nhà điều hành ngôn ngữ phụ thuộc vào chắc chắn sẽ hành xử khác nhau dựa trên các loại toán hạng của nó (ví dụ, + có thể có nghĩa nối với String s, bổ sung với toán hạng số).

example trong Wikipedia khá minh họa.

Những câu hỏi liên quan sau đây có thể cũng hữu ích:

+0

đang quá tải liên quan đến đa hình? Quá tải là biên dịch đa hình thời gian. Trường hợp như trên cưỡi là đa hình thời gian chạy –

4

Một thời gian ngắn, chúng không giống nhau.

Quá tải có nghĩa là tạo các phương thức có cùng tên nhưng có các tham số khác nhau.

Ghi đè có nghĩa là xác định lại phần thân của phương thức siêu lớp trong phân lớp để thay đổi hành vi của phương thức.

Đa hình là một khái niệm rộng bao gồm ghi đè và quá tải và nhiều hơn nữa trong phạm vi của nó. Wikipedia's description of polymorphism có thể giúp bạn hiểu tính đa hình tốt hơn. Đặc biệt là Đa hình phụ (hoặc tính đa hình bao gồm) là nơi bạn nên xem.

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