Kelas dan antarmuka abstrak Persamaan: (1) dapat diwariskan (2) tidak dapat dibuat-buat (3) dapat berisi deklarasi metode (4) Kelas turunan harus menerapkan metode yang tidak diterapkan Kategori: (1) Kelas dasar abstrak dapat menentukan bidang, properti, dan implementasi metode. Antarmuka hanya dapat menentukan atribut, pengindeks, peristiwa, dan deklarasi metode, dan tidak dapat berisi bidang. (2) Kelas abstrak adalah kelas yang tidak lengkap yang membutuhkan penyempurnaan lebih lanjut, sedangkan antarmuka adalah norma perilaku. Antarmuka khusus Microsoft selalu dilengkapi dengan bidang yang mampu untuk membuktikan bahwa mereka adalah ekspresi dari "Saya bisa melakukannya..." ” (3) Antarmuka dapat diimplementasikan beberapa kali, dan kelas abstrak hanya dapat diwarisi oleh satu orang (4) Kelas abstrak lebih didefinisikan antara serangkaian kelas yang terkait erat, sementara sebagian besar antarmuka adalah kelas yang terkait secara longgar yang semuanya mengimplementasikan fungsi tertentu (5) Kelas abstrak adalah konsep yang diabstraksikan dari serangkaian objek terkait, sehingga mencerminkan kesamaan internal dari berbagai hal; Antarmuka adalah konvensi fungsional yang ditentukan untuk memenuhi panggilan eksternal, sehingga mencerminkan karakteristik eksternal dari berbagai hal (6) Antarmuka pada dasarnya tidak memiliki karakteristik pewarisan tertentu, itu hanya menjanjikan metode yang dapat dipanggil (7) Antarmuka dapat digunakan untuk mendukung callback, tetapi warisan tidak memiliki fitur ini (8) Metode spesifik yang diimplementasikan oleh kelas abstrak bersifat virtual secara default, tetapi metode antarmuka di kelas yang mengimplementasikan antarmuka tidak virtual secara default, tentu saja, Anda juga dapat menyatakannya virtual (9) Jika kelas abstrak mengimplementasikan antarmuka, metode dalam antarmuka dapat dipetakan ke kelas abstrak sebagai metode abstrak tanpa harus mengimplementasikannya, dan metode dalam antarmuka dapat diimplementasikan dalam subkelas kelas abstrak
|