2011-01-21 40 views

Trả lời

37

Ảo và trừu tượng gần như giống nhau. Phương thức ảo có triển khai trong lớp cơ sở có thể được ghi đè tùy chọn, trong khi phương thức trừu tượng không và phải được ghi đè trong lớp con. Nếu không thì chúng giống nhau. Lựa chọn giữa chúng phụ thuộc vào tình hình. Nếu bạn đã thực hiện cơ sở, bạn sử dụng ảo. Nếu bạn không, và bạn cần mọi hậu duệ để thực hiện nó cho chính nó, bạn chọn trừu tượng.

Phương thức giao diện là triển khai phương thức được khai báo trong giao diện mà lớp thực hiện. Điều này là khá không liên quan đến hai người kia. Tôi nghĩ rằng một phương pháp có thể là cả ảo và giao diện. Ưu điểm của giao diện là bạn khai báo một giao diện (duh) có thể được thực hiện bởi hai lớp hoàn toàn khác nhau. Bằng cách đó, bạn có thể chạy cùng một mã trên hai lớp khác nhau, miễn là các phương thức bạn muốn gọi được khai báo trong một giao diện mà chúng chia sẻ.

+4

để biết thêm chi tiết về điều này, hãy xem http://stackoverflow.com/a/3621600/8151. tl; dr: các phương thức giao diện được khai báo ảo trong IL phát ra. – cori

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