Tìm hiểu giao diện là gì và cách sử dụng nó trong C #.

Bạn đang xem : giao diện c #

là gì

C # – Giao diện

Trong thế giới loài người, hợp đồng giữa hai hoặc nhiều người ràng buộc họ phải hành động theo hợp đồng.
Theo cách tương tự, một giao diện bao gồm các khai báo của các chức năng liên quan.
Các thực thể triển khai giao diện phải cung cấp việc triển khai các chức năng đã khai báo.

Trong C #, một giao diện có thể được xác định bằng cách sử dụng từ khóa interface . Một giao diện có thể chứa các khai báo về phương thức, thuộc tính, chỉ mục và sự kiện. Tuy nhiên, nó không thể chứa các trường, thuộc tính được triển khai tự động.

Giao diện sau đây khai báo một số chức năng cơ bản cho các hoạt động của tệp.

Ví dụ: Giao diện C #

  

giao diện

IFile

{

void

ReadFile ();

void

WriteFile (

string

text); }

Bạn không thể áp dụng công cụ sửa đổi quyền truy cập cho các thành viên giao diện. Tất cả các thành viên được công khai theo mặc định. Nếu bạn sử dụng công cụ sửa đổi quyền truy cập trong một giao diện, thì trình biên dịch C # sẽ thông báo lỗi thời gian biên dịch “Công cụ sửa đổi ‘công khai / riêng tư / bảo vệ’ không hợp lệ cho mục này.”. (Visual Studio sẽ hiển thị lỗi ngay lập tức mà không cần biên dịch.)

Ví dụ: Giao diện không hợp lệ với Công cụ sửa đổi quyền truy cập

  

giao diện

IFile

{

protected

void

ReadFile ();

// lỗi thời gian biên dịch

private

void

WriteFile (

string

text);

// lỗi thời gian biên dịch

}

Một giao diện chỉ có thể chứa các khai báo nhưng không chứa các triển khai. Phần sau sẽ đưa ra lỗi thời gian biên dịch.

Ví dụ: Giao diện không hợp lệ khi triển khai

  

giao diện

IFile

{

void

ReadFile ();

void

WriteFile (

string

text) { Console.Write (văn bản);

// error: không thể triển khai phương thức

} }

Triển khai giao diện

Một lớp hoặc một Cấu trúc có thể triển khai một hoặc nhiều giao diện bằng cách sử dụng dấu hai chấm (:).

Cú pháp:

& lt; Tên Lớp hoặc Cấu trúc & gt; : & lt; Tên giao diện & gt;

Ví dụ: lớp sau sẽ triển khai ngầm định giao diện IFile .

Ví dụ: Triển khai giao diện

  

giao diện

IFile

{

void

ReadFile ();

void

WriteFile (

string

text); }

class

FileInfo

:

IFile

{

public

void

ReadFile () { Console.WriteLine (

"Đọc tệp"

); }

public

void

WriteFile (

string

text) { Console.WriteLine (

"Ghi vào tệp"

); } }

Trong ví dụ trên, lớp FileInfo triển khai giao diện IFile .
Nó xác định tất cả các thành viên của giao diện IFile với công cụ sửa đổi quyền truy cập công khai.
Lớp FileInfo cũng có thể chứa các thành viên khác với các thành viên giao diện.

Xem Thêm  SQL CHỌN ĐẦU, GIỚI HẠN, CHỈ TÌM KIẾM ROWS ĐẦU TIÊN, ROWNUM - giới hạn so với sql hàng đầu

Lưu ý:

Các thành viên giao diện phải được triển khai với công cụ sửa đổi public ; nếu không, trình biên dịch sẽ đưa ra lỗi thời gian biên dịch.

Bạn có thể tạo một đối tượng của lớp và gán nó cho một biến của kiểu giao diện, như được hiển thị bên dưới.

Ví dụ: Triển khai giao diện

  

public class

Chương trình

{

public static void

Main () {

IFile

file1 =

new

FileInfo

();

FileInfo

file2 =

new

FileInfo

(); file1.ReadFile (); file1.WriteFile (

"content"

); file2.ReadFile (); file2.WriteFile (

"nội dung"

); } }

Ở trên, chúng tôi đã tạo các đối tượng của lớp FileInfo và gán nó cho biến loại IFile FileInfo biến kiểu.
Khi giao diện được triển khai ngầm định, bạn có thể truy cập các thành viên IFile bằng các biến kiểu IFile cũng như biến kiểu FileInfo .

Triển khai rõ ràng

Một giao diện có thể được triển khai rõ ràng bằng cách sử dụng & lt; InterfaceName & gt;. & lt; MemberName & gt; .
Triển khai rõ ràng rất hữu ích khi lớp đang triển khai nhiều giao diện; do đó, nó dễ đọc hơn và loại bỏ sự nhầm lẫn. Nó cũng hữu ích nếu các giao diện có trùng tên phương thức.

Lưu ý:

Không sử dụng công cụ sửa đổi với cách triển khai rõ ràng. Nó sẽ báo lỗi thời gian biên dịch.

Ví dụ: Triển khai rõ ràng

  

giao diện

IFile

{

void

ReadFile ();

void

WriteFile (

string

text); }

class

FileInfo

:

IFile

{

void

IFile

.ReadFile () { Console.WriteLine (

"Đọc tệp"

); }

void

IFile

.WriteFile (

string

text) { Console.WriteLine (

"Ghi vào tệp"

); } }

Khi bạn triển khai giao diện một cách rõ ràng, bạn chỉ có thể truy cập các thành viên giao diện thông qua phiên bản của một loại giao diện.

Ví dụ: Triển khai rõ ràng

  

giao diện

IFile

{

void

ReadFile ();

void

WriteFile (

string

text); }

class

FileInfo

:

IFile

{

void

IFile

.ReadFile () { Console.WriteLine (

"Đọc tệp"

); }

void

IFile

.WriteFile (

string

text) { Console.WriteLine (

"Ghi vào tệp"

); }

public

void

Tìm kiếm (

string

text) { Console.WriteLine (

"Tìm kiếm trong tệp"

); } }

public class

Chương trình

{

public static void

Main () {

IFile

file1 =

new

FileInfo

();

FileInfo

file2 =

new

FileInfo

(); file1.ReadFile (); file1.WriteFile (

"content"

);

// file1.Search ("văn bản cần tìm kiếm") // lỗi thời gian biên dịch

file2.Search (

"văn bản cần tìm kiếm"

);

// file2.ReadFile (); // lỗi thời gian biên dịch

// file2.WriteFile ("dung"); // lỗi thời gian biên dịch

} }

Trong ví dụ trên, đối tượng file1 chỉ có thể truy cập các thành viên của IFile file2 chỉ có thể truy cập các thành viên của lớp FileInfo .
Đây là hạn chế của việc triển khai rõ ràng.

Xem Thêm  Absolute Horizontal And Vertical Centering In CSS — Smashing Magazine - căn giữa trong photoshop

Triển khai nhiều giao diện

Một lớp hoặc cấu trúc có thể triển khai nhiều giao diện. Nó phải cung cấp sự triển khai của tất cả các thành viên của tất cả các giao diện.

Ví dụ: Triển khai nhiều giao diện

  

giao diện

IFile

{

void

ReadFile (); }

interface

IBinaryFile

{

void

OpenBinaryFile ();

void

ReadFile (); }

class

FileInfo

:

IFile

,

IBinaryFile

{

void

IFile

.ReadFile () { Console.WriteLine (

"Đọc tệp văn bản"

); }

void

IBinaryFile

.OpenBinaryFile () { Console.WriteLine (

"Mở tệp nhị phân"

); }

void

IBinaryFile

.ReadFile () { Console.WriteLine (

"Đọc tệp nhị phân"

); }

public

void

Tìm kiếm (

string

text) { Console.WriteLine (

"Tìm kiếm trong tệp"

); } }

public class

Chương trình

{

public static void

Main () {

IFile

file1 =

new

FileInfo

();

IBinaryFile

file2 =

new

FileInfo

();

FileInfo

file3 =

new

FileInfo

(); file1.ReadFile ();

// file1.OpenBinaryFile (); // lỗi thời gian biên dịch

// file1.SearchFile ("văn bản cần tìm"); // lỗi thời gian biên dịch

file2.OpenBinaryFile (); file2.ReadFile ();

// file2.SearchFile ("văn bản cần tìm"); // lỗi thời gian biên dịch

file3.Search (

"văn bản cần tìm kiếm"

);

// file3.ReadFile (); // lỗi thời gian biên dịch

// file3.OpenBinaryFile (); // lỗi thời gian biên dịch

} }

Ở trên, FileInfo triển khai hai giao diện IFile IBinaryFile một cách rõ ràng.
Nên triển khai các giao diện một cách rõ ràng khi triển khai nhiều giao diện để tránh nhầm lẫn và dễ đọc hơn.


Những điểm cần nhớ:

  1. Giao diện có thể chứa các khai báo về phương thức, thuộc tính, chỉ mục và sự kiện.
  2. Giao diện không được bao gồm các thành viên riêng tư, được bảo vệ hoặc nội bộ. Tất cả các thành viên được công khai theo mặc định.
  3. Giao diện không được chứa các trường và các thuộc tính được triển khai tự động.
  4. Một lớp hoặc một cấu trúc có thể triển khai một hoặc nhiều giao diện một cách ngầm định hoặc rõ ràng. Sử dụng công cụ sửa đổi công khai khi triển khai giao diện một cách ngầm định, trong khi không sử dụng nó trong trường hợp triển khai rõ ràng.
  5. Triển khai giao diện một cách rõ ràng bằng InterfaceName.MemberName .
  6. Một giao diện có thể kế thừa một hoặc nhiều giao diện.
Xem Thêm  Cách lấy các phần tử từ bộ trong ví dụ Python - python tìm mục trong bộ


Xem thêm những thông tin liên quan đến chủ đề giao diện c # là gì

Bài 1.1: Thao tác với C# trên giao diện Visual Studio 2019

  • Tác giả: Tran Huong CNTT
  • Ngày đăng: 2022-04-01
  • Đánh giá: 4 ⭐ ( 3645 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: tranhuongCNTT LaptrinhWindowsForm​ VisualStudio2019 Lập_trình_với_C

    CẢM ƠN TẤT CẢ QUÝ VỊ
    “ĐĂNG KÝ” ỦNG HỘ KÊNH PHÁT TRIỂN
    “LIKE” NẾU CẢM THẤY VIDEO HỮU ÍCH.

Giao diện trong C#

  • Tác giả: sinhvientot.net
  • Đánh giá: 4 ⭐ ( 6970 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Như thế nào là một giao diện website thân thiện với người dùng?

  • Tác giả: blog.webico.vn
  • Đánh giá: 3 ⭐ ( 4479 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Lập trình giao diện console

  • Tác giả: devnt.org
  • Đánh giá: 5 ⭐ ( 7759 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

WPF C# cơ bản là gì? So sánh wpf với winform

  • Tác giả: chiasekinang.com
  • Đánh giá: 5 ⭐ ( 3579 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: WPF là hệ thống API mới hỗ trợ việc xây dựng giao diện đồ hoạ trên nền Windows. WPF giúp lập trình giao diện đẹp hơn trên cả web và windows

16 loại cổng kết nối của máy tính và chức năng của chúng

  • Tác giả: wikimaytinh.com
  • Đánh giá: 4 ⭐ ( 9456 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Cổng kết nối của máy tính là một điểm kết nối giữa máy vi tính và các thiết bị ngoại vi của nó như là chuột, bàn phím, màn hình, internet, máy in

Cách Chuyển Giao Diện Cad 2018 Về Classic Nhanh Nhất Trên Cad Đời Cao

  • Tác giả: tnmthcm.edu.vn
  • Đánh giá: 5 ⭐ ( 7609 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Sử dụng các phiên bản AutoCAD đời cao sẽ giúp ích rất nhiều trong công việc của bạn, Tuy nhiên, nhiều bạn vẫn thích làm việc với giao diện Classic trong phiên bản cũ

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

By ads_php