Logo vi.removalsclassifieds.com

Sự khác biệt giữa lớp trừu tượng và giao diện trong C # (Với bảng)

Mục lục:

Anonim

Khi thiết kế ứng dụng hoặc bắt đầu sự nghiệp lập trình, cần phải biết sự khác biệt giữa Lớp trừu tượng và Giao diện trong C #. Cả lớp trừu tượng và giao diện đều được sử dụng để thực hiện trừu tượng hóa nơi người ta có thể hiểu các phương thức trừu tượng. Mặc dù cả hai đều không thể được sử dụng cùng một lúc.

Các lớp và giao diện trừu tượng có vẻ giống nhau theo một vài cách nhưng có những điểm khác biệt chính giúp xác định đâu là lựa chọn tốt nhất để ai đó đạt được một mục tiêu nhất định liên quan đến lập trình.

Người ta không nên có ý định sử dụng trực tiếp một lớp Abstract. Lớp này ít nhất phải có một phương thức trừu tượng. Và nó sẽ được đánh dấu bằng từ khóa hoặc phần bổ trợ trừu tượng trong định nghĩa của lớp. Mặt khác, một giao diện chỉ cho phép ai đó xác định chức năng. Nó không thể được thực hiện. Mặc dù một lớp chỉ có thể phát triển một lớp trừu tượng, nhưng nó cũng có thể tận dụng nhiều giao diện khác nhau.

Lớp trừu tượng so với Giao diện trong C #

Các sự khác biệt giữa Lớp trừu tượng và Giao diện trong C # là chức năng “Chính” của lớp trừu tượng là giải thích danh tính thực của một lớp trong khi chức năng chính của giao diện là giải thích các khả năng bên ngoài của lớp. Sự trừu tượng hóa đầy đủ không được cung cấp bởi một lớp trừu tượng trong khi một giao diện có thể cung cấp sự trừu tượng hóa đầy đủ.

Đa kế thừa là không thể trong một lớp trừu tượng trong khi một giao diện có thể tạo đa kế thừa càng tốt.

Bảng so sánh giữa lớp trừu tượng và giao diện trong C #

Tham số so sánh Lớp trừu tượng Giao diện trong C #
Chức năng Thêm một phương thức mới vào một lớp trừu tượng sẽ cung cấp tùy chọn cung cấp triển khai mặc định và do đó tất cả mã hiện tại sẽ hoạt động bình thường Thêm một phương thức mới vào một giao diện sẽ cho phép theo dõi tất cả các triển khai của giao diện và xác định việc triển khai cho phương thức gần đây
Kế thừa khác nhau Chỉ một lớp trừu tượng có thể được kế thừa bởi một lớp Một số giao diện có thể được kế thừa bởi một lớp
Chúng chứa những gì? Lớp trừu tượng chứa Thành viên dữ liệu và Trình tạo Giao diện trong C # không chứa Data Member và Constructors
Cung cấp Một lớp trừu tượng có thể cung cấp mã mặc định, đầy đủ và / hoặc các chi tiết cần được ghi đè Một giao diện trong C # không có khả năng cung cấp bất kỳ mã nào, chỉ là chữ ký
Tỷ lệ chuyển động Một lớp trừu tượng là nhanh khi nói đến tốc độ Một giao diện trong C # cần thêm thời gian để có được phương thức thực trong các lớp tương ứng

Lớp trừu tượng trong C # là gì?

Một lớp trừu tượng là một cái gì đó chỉ có thể được dùng để trở thành một lớp cơ sở của các lớp khác. Chúng là các lớp có một hoặc nhiều phương thức trừu tượng. Phương thức trừu tượng được gọi là phương thức được thông báo, nhưng nó không chứa bất kỳ triển khai nào.

Để tạo một lớp, chúng ta cần sử dụng một bổ ngữ ‘trừu tượng’. Công cụ sửa đổi này chỉ ra rằng có thể có một số triển khai bị thiếu sẽ yêu cầu đưa vào hoạt động trong lớp được lấy từ nó. Cả thành viên trừu tượng và không trừu tượng đều có thể được chứa bởi một lớp trừu tượng.

Lớp trừu tượng này ít nhất phải có một phương thức trừu tượng đã được thảo luận ở trên. Nếu không có phương thức, chúng ta không thể khai báo lớp đó là một lớp “trừu tượng”.

Đôi khi các lớp trừu tượng có thể không được khởi tạo và chúng cần các lớp con để cung cấp các triển khai cho các phương thức trừu tượng. Nếu chúng ta đang tạo một lớp trừu tượng thì chúng ta đang tạo một lớp cơ sở có thể chứa một hoặc nhiều phương thức đã hoàn thành nhưng ít nhất chúng ta sẽ tìm thấy một hoặc nhiều phương thức chưa hoàn thành và được khai báo là trừu tượng.

Nếu tất cả các phương thức của một lớp trừu tượng vẫn chưa hoàn thành thì nó sẽ giống như một giao diện. Mục đích thực tế của một lớp trừu tượng là để đưa ra một định nghĩa về một lớp cơ sở cho cách một tập hợp các lớp dẫn xuất sẽ hoạt động và sau đó cho phép các lập trình viên điền vào việc triển khai trong các lớp dẫn xuất.

Chúng ta cũng có thể nói rằng mục đích của một lớp trừu tượng là cung cấp một định nghĩa lớp cơ sở.

Giao diện trong C # là gì?

Mặt khác, một giao diện không phải là một lớp chỉ có một dấu hiệu về chức năng. Chúng ta có thể gọi nó là một mô hình không có triển khai. Về mặt lý thuyết, nó chỉ là một định nghĩa của các phương thức có khai báo các thành viên.

Chúng ta có thể coi nó như một shell rỗng không chứa việc thực thi các thành viên của nó. Giao diện giống như một lớp cơ sở trừu tượng sẽ chỉ có các thành viên trừu tượng như phương thức, chỉ mục, sự kiện, thuộc tính, v.v.

Việc tạo nó ngay lập tức là không thể và các thành viên của nó có thể được thực hiện bởi bất kỳ lớp nào. Ngoài ra, các giao diện khác nhau có thể được thực hiện bởi một lớp, tuy nhiên, một lớp chỉ có thể có được một lớp duy nhất. Nói cách khác, chúng ta có thể nói rằng một giao diện chỉ có phần khai báo của các thành viên và nó không chứa việc triển khai các thành viên này.

Một lớp triển khai giao diện và nó phải cung cấp định nghĩa của các phương thức được nêu trong giao diện. Có nghĩa là một giao diện mang một cấu trúc chuẩn mà lớp dẫn xuất sẽ yêu cầu tuân theo.

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

Các câu hỏi thường gặp (FAQ) Về lớp và giao diện trừu tượng trong C #

Việc sử dụng lớp trừu tượng trong C # là gì?

C # là một ngôn ngữ lập trình hướng đối tượng có mục đích chung. Nó là của Microsoft. Mục đích chính của C # là sử dụng sức mạnh tính toán của C ++ với tính năng dễ dàng lập trình của Virtual Basic. Nó chủ yếu dựa trên C ++ và cũng chứa các tính năng tương tự như Java.

Một lớp trừu tượng là một cách để đạt được sự trừu tượng trong C # và nó không thể được khởi tạo trực tiếp. Chức năng của lớp trừu tượng là tạo một số chức năng hoặc tạo một hành vi chung mà các lớp con có thể kế thừa, thực hiện hoặc ghi đè.

Về cơ bản, nó cung cấp một bản thiết kế cho các lớp dẫn xuất và đưa ra hướng dẫn về những gì cần thực hiện bởi các lớp dẫn xuất khi một lớp trừu tượng được chúng kế thừa.

Giao diện trong C # là gì và tại sao nó được sử dụng?

Một giao diện trong C # có thể được định nghĩa như một định nghĩa kiểu giống như một lớp. Nhưng nó chỉ cung cấp các khai báo và được kế thừa bởi các lớp và cấu trúc.

Nó được sử dụng với một lớp để định nghĩa một hợp đồng (một thỏa thuận về những gì được lớp đó cung cấp cho một ứng dụng). Nó chỉ khai báo các phương thức và các thuộc tính khác nhau và một lớp sẽ chỉ định phương thức thực sự sẽ làm gì.

Nó không thể được khởi tạo như một đối tượng và chỉ được sử dụng như một tập hợp các phương thức và khai báo thuộc tính. Nó xác định những thao tác nào có thể được hoặc sẽ được thực hiện bởi một lớp.

Đa hình trong C # là gì?

Tính đa hình thường được thể hiện dưới dạng một giao diện và nhiều chức năng. Tính đa hình trong C # có nghĩa là cung cấp khả năng có nhiều dạng. Sau khi đóng gói và kế thừa, nó là một khái niệm trụ cột khác của lập trình hướng đối tượng. C # cung cấp khả năng cho các lớp thực thi các phương thức khác nhau thường được gọi với cùng một tên.

Có hai loại đa hình trong C #:

Sự kết luận

Để hiểu được sự khác biệt giữa hai là một nhiệm vụ khá khó khăn. Chúng tôi có thể kết hợp tất cả thông tin mà chúng tôi có thể tìm thấy nhưng vẫn chưa đủ. Về mặt lý thuyết, cả hai đều là những thuật ngữ quan trọng nhất trong lập trình và khá giống nhau, nhưng về mặt chức năng, chúng khác nhau rất nhiều.

Trong khi một lớp trừu tượng là một loại lớp nhất định sẽ hoạt động như một cơ sở cho các lớp khác, một giao diện sẽ chỉ là một trình bao trống với chỉ các khai báo thành viên.

Người giới thiệu

Sự khác biệt giữa lớp trừu tượng và giao diện trong C # (Với bảng)