Apa itu Antarmuka di C++

Apa Itu Antarmuka Di C



Antarmuka, umumnya dikenal sebagai kelas abstrak hanyalah sumber untuk mendeskripsikan perilaku kelas tanpa harus berkomitmen pada implementasi kelas. Tidak ada konsep antarmuka bawaan dalam pemrograman C++. Untuk mulai membuat antarmuka, pertama-tama kita harus membuat kelas abstrak hanya dengan fungsi virtual murni.

Antarmuka dalam C++ diterapkan menggunakan kelas abstrak. Di sisi lain, sebuah kelas disebut kelas abstrak jika setidaknya satu fungsi di dalam kelas dideklarasikan sebagai fungsi virtual murni.

Apa Fungsi Virtual Murni

Itu Fungsi Virtual Murni berarti bahwa pengguna hanya mendeklarasikan fungsi dan bukan definisinya. Metode / fungsi overriding digunakan untuk mengimplementasikan metode virtual murni di kelas turunan. Suatu fungsi dianggap virtual murni jika dijelaskan di dalam kelas seperti yang diberikan di bawah ini:







Berikut sintaks dari a Fungsi Virtual Murni dari Ruang Kelas.



kelas Ruang {
publik :
// fungsi virtual murni
maya dobel Getaria ( ) = 0 ;

pribadi :
dobel panjang ; // Panjang Kamar
dobel Lebar ; // Lebar Kamar
} ;

Apa itu Kelas Abstrak

Kelas yang dibuat khusus untuk tujuan melayani sebagai kelas dasar disebut an kelas abstrak . Setidaknya satu fungsi virtual murni harus ada di kelas abstrak. Ini mungkin termasuk variabel dan fungsi standar. Kelas turunan yang dimiliki kelas abstrak, harus mengimplementasikan fungsi virtual murni dari kelas dasar, atau mereka akan menjadi abstrak.



Pertimbangkan contoh berikut, di mana kelas induk memberikan antarmuka ke kelas dasar agar kelas dasar menerapkan fungsi virtual murni yang disebut getArea() . Dua kelas yang berbeda menggunakan yang sama getArea() fungsi, tetapi output untuk kedua kasus akan berbeda.





#termasuk
menggunakan ruang nama std ;
kelas Membentuk
{
publik :
maya int Getaria ( ) = 0 ;
ruang kosong setWidth ( int dengan )
{
lebar = dengan ;
}

ruang kosong setLength ( int lth )
{
panjang = lth ;
}

terlindung :
int lebar ;
int panjang ;
} ;

kelas Persegi panjang : publik Membentuk
{
publik : int Getaria ( )
{
kembali ( lebar * panjang ) ;
}
} ;

kelas Segi tiga : publik Membentuk
{
publik : int Getaria ( )
{
kembali ( lebar * panjang ) / 2 ;
}
} ;

int utama ( ruang kosong )
{
Persegi panjang R ;
segitiga T ;
R. setWidth ( 9 ) ;
R. setLength ( 5 ) ;
cout << 'Luas Persegi Panjang:' << R. Getaria ( ) << endl ;
T. setWidth ( 9 ) ;
T. setLength ( 5 ) ;
cout << 'Luas Segitiga:' << T. Getaria ( ) << endl ;
kembali 0 ;
}

Keluaran



Pentingnya Antarmuka

Kelas apa pun yang berasal dari kelas abstrak murni (Antarmuka) harus selalu mengimplementasikan setiap metode dari kelas dasar, yaitu Antarmuka. Pointer antarmuka dapat diteruskan ke fungsi serta kelas, memungkinkan kita untuk memanggil fungsi dari kelas turunan dari sana.

Apa Aturan untuk Menggunakan Antarmuka

Ada aturan berikut yang harus diikuti pengguna untuk menggunakan antarmuka di C++:

  • Hanya nyatakan fungsi virtual murni.
  • Hanya menetapkan 0 ke fungsi virtual murni.
  • Jangan membuat antarmuka kelas.
  • Menggunakan referensi ke kelas abstrak dasar, kita dapat membuat penunjuk ke turunan dari kelas turunan.

Dalam kode berikut, sebuah interface linuxhint , seperti kelas abstrak telah dibuat dengan menggunakan metode virtual murni, serta fungsinya diterapkan di kelas anak, dan kami memanggil returnString() metode dalam fungsi utama dengan mengikuti aturan antarmuka.

#termasuk
#termasuk
#sertakan
menggunakan ruang nama std ;

kelas linuxhint
{
publik :
maya string kembaliString ( ) = 0 ;
} ;
kelas anak : publik linuxhint
{
publik :
string kembaliString ( )
{
kembali 'Halo Linuxint' ;
}
} ;
int utama ( )
{
anak anak_objek ;
linuxhint * pntr ;
pntr = & objek_anak ;
cout < returnString ( ) ;
kembali 0 ;
}

Keluaran

Kesimpulan

Antarmuka adalah kelas abstrak yang menjelaskan perilaku kelas yang diperlukan untuk mengimplementasikan kelas yang diperlukan di C++. Pedoman yang disebutkan di atas sangat penting bagi pemula untuk meningkatkan keterampilan pemrograman C++ mereka dengan menggunakan antarmuka. Anda juga akan menemukan beberapa contoh yang akan membantu Anda mempelajari implementasi antarmuka di C++.