2013-06-13 57 views

Trả lời

13

Bạn không thể khởi tạo giao diện hoặc lớp trừu tượng vì nó sẽ thách thức mô hình hướng đối tượng.

Giao diện đại diện cho hợp đồng - lời hứa rằng người triển khai giao diện sẽ có thể thực hiện tất cả những điều này, hoàn thành hợp đồng.

Các lớp trừu tượng là một ý tưởng tương tự, trong đó chúng đại diện cho một hợp đồng chưa được thực hiện, hứa hẹn có thể làm mọi thứ, ngoại trừ giao diện chúng có một số chức năng hoặc trường được xác định nhưng cần điền trước khi chúng có thể sử dụng.

Đơn giản, trong một chương trình hướng đối tượng tốt, bạn không bao giờ muốn khởi tạo lớp trừu tượng hoặc giao diện. Nếu bạn làm, thiết kế có lẽ là sai.

(Lớp ẩn danh thực sự không phải là trừu tượng, chỉ cần chúng không cần phải đặt tên, vì vậy chúng có vẻ là 'giao diện thô' nhưng thực ra chúng thực hiện giao diện không có tên Đó là sự hiểu biết của tôi, ít nhất.)

+2

+1 cho lời giải thích tuyệt vời như vậy. – Ranjit

+0

cũng ít nhất là cho bạn, rực rỡ cho tôi .. +1 – Elltz

3

Đây là giải thích cơ bản mà không có khái niệm sâu hơn.

  • Interface không có phương pháp thực hiện, vì vậy không có mục đích để nhanh chóng nó là 'không có gì' sẽ xảy ra khi gọi một phương pháp
  • Abstract lớp có thể có abstract khai phương pháp, mà là giống như một phương pháp giao diện với không thực hiện .
1

Bạn không thể khởi tạo giao diện hoặc lớp trừu tượng vì một số phương pháp của chúng có thể không có bất kỳ định nghĩa nào.

+0

Có thể làm rõ rằng * none * sẽ có giao diện. – ChiefTwoPencils

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