Kelas virtual C ++ setara dengan kelas abstrak di Java. Perbedaan dari antarmuka adalah:
1. Subkelas hanya dapat mewarisi satu kelas abstrak (kelas virtual), tetapi dapat menerapkan beberapa antarmuka
2. Kelas abstrak dapat memiliki metode konstruktor, tetapi antarmuka tidak memiliki metode konstruktor.
3. Metode dalam kelas abstrak tidak selalu merupakan metode abstrak, yaitu, metode di dalamnya dapat memiliki implementasi (dengan badan metode). Metode dalam antarmuka adalah metode abstrak, dan tidak mungkin ada badan metode, hanya deklarasi
4. Kelas abstrak dapat bersifat publik, pribadi, terlindungi, dan default, dan antarmuka hanya memiliki publik
5. Metode dalam kelas abstrak dapat berupa publik, pribadi, terlindungi, dan default. Metode dalam antarmuka hanya dapat bersifat publik dan default.
Hal yang sama adalah: tidak ada yang bisa dipakai.
Catatan tambahan: Antarmuka adalah jenis kelas abstrak khusus, kelas yang lebih abstrak, yang mungkin Anda pahami dengan cara ini. Kelas abstrak adalah kelas yang tidak lengkap, dan antarmuka hanya mendefinisikan beberapa fungsi. Misalnya, gunakan kelas abstrak dan antarmuka untuk menggambarkan "anjing". Kelas abstrak menambahkan abstrik sebelum kelas umum dan berkata: "Babi dapat berjalan dengan anggota tubuh, babi dapat berlari seperti ini atau itu ...", dan antarmuka hanya dapat mengatakan: "Babi dapat berjalan, dan apa yang mereka gunakan untuk dijalankan adalah subkelas."
Artikel di atas secara singkat membahas persamaan dan perbedaan antara antarmuka Java dan kelas virtual C ++. Ini semua konten yang saya bagikan dengan Anda. Saya harap Anda dapat memberi Anda referensi dan saya harap Anda dapat mendukung wulin.com lebih lanjut.