Giao diện trong C++ là gì

Giao Dien Trong C La Gi



Các giao diện, thường được gọi là các lớp trừu tượng, chỉ là một nguồn mô tả hành vi của lớp mà không cam kết thực hiện lớp đó. Không có khái niệm tích hợp sẵn về giao diện trong lập trình C++. Để bắt đầu tạo một giao diện, trước tiên chúng ta phải thiết lập một lớp trừu tượng chỉ với các hàm ảo thuần túy.

Các giao diện trong C++ được áp dụng bằng các lớp trừu tượng. Mặt khác, một lớp được gọi là lớp trừu tượng nếu ít nhất một hàm bên trong lớp được khai báo là một hàm thuần ảo.

Chức năng ảo thuần túy là gì

Các Chức năng ảo thuần túy có nghĩa là người dùng chỉ khai báo hàm chứ không phải định nghĩa của nó. Ghi đè phương thức/hàm được sử dụng để triển khai các phương thức ảo thuần túy tại lớp dẫn xuất. Một hàm được coi là thuần ảo nếu nó được mô tả bên trong lớp như dưới đây:







Đây là cú pháp của một Chức năng ảo thuần túy của Phòng học.



lớp học Phòng {
công cộng :
// hàm thuần ảo
ảo gấp đôi Getaria ( ) = 0 ;

riêng tư :
gấp đôi chiều dài ; // Chiều dài của một căn phòng
gấp đôi Chiều rộng ; // Chiều rộng của một căn phòng
} ;

Lớp trừu tượng là gì

Một lớp được tạo riêng cho mục đích phục vụ như một lớp cơ sở được đặt tên là lớp trừu tượng . Ít nhất một hàm thuần ảo phải có mặt trong lớp trừu tượng. Nó có thể bao gồm các biến và hàm tiêu chuẩn. Các lớp dẫn xuất mà lớp trừu tượng có, nên thực hiện một chức năng ảo thuần túy của lớp cơ sở, nếu không chúng sẽ trở nên trừu tượng.



Xem xét ví dụ sau, trong đó lớp cha cung cấp giao diện cho lớp cơ sở để lớp cơ sở áp dụng một hàm ảo thuần túy được gọi là getArea() . Hai lớp khác nhau sử dụng cùng một getArea() chức năng, nhưng đầu ra cho cả hai trường hợp sẽ khác nhau.





#include
sử dụng không gian tên tiêu chuẩn ;
lớp học Hình dạng
{
công cộng :
ảo int Getaria ( ) = 0 ;
khoảng trống setWidth ( int với )
{
chiều rộng = với ;
}

khoảng trống setLength ( int lth )
{
chiều dài = lth ;
}

được bảo vệ :
int chiều rộng ;
int chiều dài ;
} ;

lớp học hình chữ nhật : công cộng Hình dạng
{
công cộng : int Getaria ( )
{
trở lại ( chiều rộng * chiều dài ) ;
}
} ;

lớp học Tam giác : công cộng Hình dạng
{
công cộng : int Getaria ( )
{
trở lại ( chiều rộng * chiều dài ) / 2 ;
}
} ;

int chủ yếu ( khoảng trống )
{
Hình chữ nhật R ;
Tam giác chữ T ;
r. setWidth ( 9 ) ;
r. setLength ( 5 ) ;
cout << 'Diện tích hình chữ nhật:' << r. Getaria ( ) << kết thúc ;
t. setWidth ( 9 ) ;
t. setLength ( 5 ) ;
cout << 'Diện tích tam giác:' << t. Getaria ( ) << kết thúc ;
trở lại 0 ;
}

đầu ra



Tầm quan trọng của giao diện

Bất kỳ lớp nào bắt nguồn từ một lớp trừu tượng thuần túy (Giao diện) phải luôn triển khai từng phương thức của lớp cơ sở, tức là Giao diện. Các con trỏ giao diện có thể được chuyển đến các hàm cũng như các lớp, cho phép chúng ta gọi các hàm của lớp dẫn xuất từ ​​chính nó.

Quy tắc sử dụng giao diện là gì

Có các quy tắc sau đây người dùng nên tuân theo để sử dụng các giao diện trong C++:

  • Chỉ khai báo các hàm thuần ảo.
  • Chỉ được gán 0 cho các chức năng ảo thuần túy.
  • Đừng tạo giao diện của các lớp.
  • Sử dụng một tham chiếu đến một lớp trừu tượng cơ sở, chúng ta có thể tạo một con trỏ tới một thể hiện của lớp dẫn xuất.

Trong đoạn mã sau, một giao diện linuxhint , giống như một lớp trừu tượng đã được tạo bằng cách sử dụng một phương thức ảo thuần túy, cũng như chức năng của nó được áp dụng trong lớp con và chúng tôi gọi là returnString() trong chức năng chính bằng cách tuân theo các quy tắc giao diện.

#include
#include
#bao gồm
sử dụng không gian tên tiêu chuẩn ;

lớp học linuxhint
{
công cộng :
ảo chuỗi trả vềChuỗi ( ) = 0 ;
} ;
lớp học đứa trẻ : công cộng linuxhint
{
công cộng :
chuỗi trả vềChuỗi ( )
{
trở lại 'Xin chào Linuxhint' ;
}
} ;
int chủ yếu ( )
{
con_đối tượng con ;
linuxhint * pntr ;
    pntr = & đối tượng con ;
cout < returnString ( ) ;
trở lại 0 ;
}

đầu ra

Phần kết luận

Giao diện là các lớp trừu tượng mô tả hành vi của lớp cần triển khai lớp được yêu cầu trong C++. Các hướng dẫn nêu trên rất quan trọng đối với người mới bắt đầu cải thiện kỹ năng lập trình C++ của họ bằng cách làm việc với các giao diện. Bạn cũng sẽ tìm thấy một số ví dụ giúp bạn tìm hiểu cách triển khai các giao diện trong C++.