Bahasa C
Antarmuka menggambarkan perilaku atau kemampuan kelas C++ tanpa melakukan implementasi tertentu dari kelas tersebut.
Antarmuka C++ diimplementasikan menggunakan kelas abstrak dan kelas abstrak ini tidak boleh disamakan dengan abstraksi data yang merupakan konsep menjaga detail implementasi terpisah dari data terkait.
Sebuah kelas dibuat abstrak dengan mendeklarasikan setidaknya satu dari fungsinya sebagai virtual murni fungsi. Fungsi virtual murni ditentukan dengan menempatkan "=0" dalam deklarasinya sebagai berikut
class Box { public: // pure virtual function virtual double getVolume() = 0; private: double length; // Length of a box double breadth; // Breadth of a box double height; // Height of a box };
Tujuan dari kelas abstrak (sering disebut sebagai ABC) adalah untuk menyediakan kelas dasar yang sesuai dari mana kelas lain dapat mewarisi. Kelas abstrak tidak dapat digunakan untuk membuat instance objek dan hanya berfungsi sebagai antarmuka . Mencoba membuat instance objek dari kelas abstrak menyebabkan kesalahan kompilasi.
Jadi, jika subclass dari ABC perlu dipakai, ia harus mengimplementasikan setiap fungsi virtual, yang berarti mendukung antarmuka yang dideklarasikan oleh ABC. Kegagalan untuk menimpa fungsi virtual murni di kelas turunan, lalu mencoba membuat instance objek kelas itu, adalah kesalahan kompilasi.
Kelas yang dapat digunakan untuk membuat instance objek disebut kelas beton .
Perhatikan contoh berikut di mana kelas induk menyediakan antarmuka ke kelas dasar untuk mengimplementasikan fungsi yang disebut getArea()
Demo Langsung#include <iostream> using namespace std; // Base class class Shape { public: // pure virtual function providing interface framework. virtual int getArea() = 0; void setWidth(int w) { width = w; } void setHeight(int h) { height = h; } protected: int width; int height; }; // Derived classes class Rectangle: public Shape { public: int getArea() { return (width * height); } }; class Triangle: public Shape { public: int getArea() { return (width * height)/2; } }; int main(void) { Rectangle Rect; Triangle Tri; Rect.setWidth(5); Rect.setHeight(7); // Print the area of the object. cout << "Total Rectangle area: " << Rect.getArea() << endl; Tri.setWidth(5); Tri.setHeight(7); // Print the area of the object. cout << "Total Triangle area: " << Tri.getArea() << endl; return 0; }
Ketika kode di atas dikompilasi dan dieksekusi, menghasilkan hasil sebagai berikut
Total Rectangle area: 35 Total Triangle area: 17
Anda dapat melihat bagaimana kelas abstrak mendefinisikan antarmuka dalam istilah getArea() dan dua kelas lainnya mengimplementasikan fungsi yang sama tetapi dengan algoritme yang berbeda untuk menghitung area khusus untuk bentuk.
Sistem berorientasi objek mungkin menggunakan kelas dasar abstrak untuk menyediakan antarmuka umum dan standar yang sesuai untuk semua aplikasi eksternal. Kemudian, melalui pewarisan dari kelas dasar abstrak itu, kelas turunan terbentuk yang beroperasi serupa.
Kemampuan (yaitu, fungsi publik) yang ditawarkan oleh aplikasi eksternal disediakan sebagai fungsi virtual murni di kelas dasar abstrak. Implementasi fungsi virtual murni ini disediakan di kelas turunan yang sesuai dengan jenis aplikasi tertentu.
Arsitektur ini juga memungkinkan aplikasi baru ditambahkan ke sistem dengan mudah, bahkan setelah sistem didefinisikan.
Bahasa C
1) Jelaskan apa itu kelas dalam C++? Kelas dalam C++ dapat didefinisikan sebagai kumpulan fungsi dan data terkait di bawah satu nama. Ini adalah cetak biru objek. Program C++ dapat terdiri dari sejumlah kelas. 2) Bagaimana Anda bisa menentukan kelas di C++? Dengan menggunakan kata kunci kelas d
Apa itu Kelas Penyimpanan di C? Kelas penyimpanan mewakili visibilitas dan lokasi variabel. Ini memberitahu dari bagian kode mana kita dapat mengakses variabel. Kelas penyimpanan di C digunakan untuk menggambarkan hal-hal berikut: Cakupan variabel. Lokasi dimana variabel akan disimpan. Nilai varia
Dalam bab ini, kita akan membahas kelas dalam Java. Kelas Bersarang Di Java, seperti halnya metode, variabel dari suatu kelas juga dapat memiliki kelas lain sebagai anggotanya. Menulis kelas di dalam kelas lain diperbolehkan di Jawa. Kelas yang ditulis di dalamnya disebut kelas bersarang , dan kela
Departemen pemadam kebakaran menanggapi lebih dari satu juta kebakaran setiap tahun di Amerika Serikat saja. Dan sementara jumlah itu terus menurun sejak tahun 1970-an, kebakaran masih menghadirkan potensi situasi yang sangat berbahaya kapan pun terjadi. Tapi sementara mereka semua terbakar, tidak s