Computer >> Máy Tính >  >> Lập trình >> C#

Sự khác biệt giữa lớp trừu tượng và giao diện trong chương trình C #

Như chúng ta đã biết C # là một lập trình hướng đối tượng giống như Java và cung cấp hỗ trợ đầy đủ cho các khái niệm hướng đối tượng là Đóng gói, Trừu tượng, Kế thừa và Đa hình. Ngược lại với Trừu tượng, cả lớp Trừu tượng và Giao diện đều xuất hiện trong hình ảnh vì cả hai lớp này đều cung cấp tính trừu tượng trong chương trình C #.

Trong một lớp trừu tượng, chúng ta có thể tạo chức năng và chức năng đó cần được thực thi bởi lớp dẫn xuất. Giao diện cho phép chúng tôi xác định chức năng hoặc các chức năng nhưng không thể thực hiện điều đó. Lớp dẫn xuất mở rộng giao diện và triển khai các chức năng đó.

Sau đây là những điểm khác biệt quan trọng giữa Lớp trừu tượng và Giao diện.

Sr. Không. Phím Lớp Tóm tắt Giao diện
1 Định nghĩa Về mặt định nghĩa tiêu chuẩn, về mặt khái niệm, lớp Trừu tượng là một lớp không thể được khởi tạo và thường được triển khai dưới dạng một lớp có một hoặc nhiều hàm ảo (trừu tượng) thuần túy. Mặt khác, một Giao diện là một mô tả về những hàm thành viên nào mà một lớp phải thực thi, kế thừa giao diện này. Nói cách khác, một giao diện mô tả hành vi của lớp.
2 Thực hiện Giống như thiết kế lớp chung khác trong lớp Abstract C # cũng có phần triển khai riêng cùng với phần khai báo của nó. Mặt khác, một Giao diện chỉ có thể có chữ ký chứ không phải việc triển khai. Trong khi việc triển khai nó đang được cung cấp bởi lớp triển khai nó.
3 Kế thừa Theo đặc tả trong C #, một lớp chỉ có thể mở rộng một lớp khác do đó lớp trừu tượng không đạt được đa kế thừa. Mặt khác, trong trường hợp Giao diện, một lớp có thể triển khai nhiều giao diện và do đó giao diện đạt được đa kế thừa.
4 Khối mã lệnh Giống như các lớp khác trong C # cho lớp trừu tượng tức thời cũng có hàm tạo cung cấp một thể hiện của lớp trừu tượng để truy cập các phương thức không tĩnh của nó. Mặt khác, Giao diện không có hàm tạo nên chúng tôi không thể khởi tạo trực tiếp một giao diện mặc dù phương thức của nó có thể được truy cập bằng cách tạo phiên bản của lớp thực thi nó.
5 Công cụ sửa đổi Vì lớp trừu tượng giống hầu hết các lớp thông thường khác trong C # nên nó có thể chứa các loại bổ trợ truy cập khác nhau như công khai, riêng tư, bảo vệ, v.v. Mặt khác, vì Giao diện cần được triển khai để cung cấp cho lớp khác triển khai các phương thức của nó nên chỉ có thể chứa công cụ sửa đổi truy cập công khai.
6 Hiệu suất Vì lớp trừu tượng có phương thức của nó cũng như các triển khai của chúng cũng để triển khai các phương thức trừu tượng nên nó có tham chiếu cho lớp thực thi của nó, do đó hiệu suất tương đối nhanh hơn so với của Giao diện. Mặt khác, hiệu suất của giao diện chậm vì nó cần thời gian để tìm kiếm phương thức thực tế trong lớp tương ứng.