1. Mengapa menggunakan antarmuka
Jika ada persyaratan: itu membutuhkan fungsi pintu anti-pencurian. Pintu memiliki fungsi "terbuka" dan "tutup", dan kunci memiliki fungsi "penguncian" dan "pembukaan".
Analisis: Pertama-tama, pintu anti-pencurian adalah pintu. Pintu memiliki fungsi membuka dan menutup pintu, dan ada juga kunci. Kunci telah membuka kunci dan mengunci. Menurut gagasan pemrograman yang berorientasi objek, kami akan menganggap pintu dan kunci sebagai kelas dan ada secara terpisah. Namun, pintu anti-pencurian tidak dapat diwarisi dari pintu dan penguncian diri. Pintu anti-pencurian bukanlah kunci, yang tidak sesuai dengan hubungan adalah warisan. Warisan tunggal didukung di Java. Jadi bagaimana kita menyelesaikan masalah ini? Saat ini, kita perlu menggunakan antarmuka.
2. Apa itu antarmuka
Dalam perangkat lunak, antarmuka adalah spesifikasi dan standar. Mereka dapat membatasi perilaku kelas dan merupakan kumpulan beberapa fitur metode. Namun, tidak ada implementasi metode. Antarmuka sebenarnya dapat dianggap sebagai kelas abstrak khusus, tetapi mereka menggunakan metode yang sama sekali berbeda dari kelas abstrak untuk mewakilinya. Konsep desain keduanya juga berbeda. Kelas abstrak kondusif untuk penggunaan kembali kode, dan antarmuka kondusif untuk ekspansi dan pemeliharaan kode.
3. Perbedaan antara kelas abstrak dan antarmuka:
Kelas 01Abstract dapat memberikan detail implementasi metode anggota, sementara hanya metode abstrak publik yang dapat ada di antarmuka;
02. Variabel anggota dalam kelas abstrak dapat dari berbagai jenis, sedangkan variabel anggota dalam antarmuka hanya dapat dari jenis akhir statis publik;
03. Antarmuka tidak dapat berisi blok kode statis dan metode statis, sedangkan kelas abstrak dapat memiliki blok kode statis dan metode statis;
04. Kelas hanya dapat mewarisi satu kelas abstrak, sementara kelas dapat menerapkan beberapa antarmuka.
4. Cara mendefinisikan antarmuka
Mari pertama -tama lihat sintaksnya:
[Pengubah] Nama Antarmuka Antarmuka Memperluas Antarmuka Induk 1, Antarmuka Induk 2, ...
{
// Definisi Konstan
// definisi metode
}
Menerapkan sintaks antarmuka di kelas:
Nama kelas kelas nama kelas induk mengimplementasikan antarmuka 1, antarmuka 2, ...
{
// anggota kelas
}
5. Menentukan titik antarmuka
01. Aturan penamaan antarmuka sama dengan yang ada di kelas. Jika pengubahnya publik, antarmuka terlihat di seluruh proyek; Jika pengubah dihilangkan, antarmuka hanya terlihat dalam paket saat ini.
02. Konstanta dapat didefinisikan dalam antarmuka, tetapi variabel tidak dapat didefinisikan. Jika Anda mendefinisikan atribut di antarmuka, maka melalui dekompilasi, Anda dapat melihat bahwa itu akan secara otomatis memodifikasinya dengan final statis publik. Atribut dalam antarmuka adalah semua konstanta statis global, dan konstanta dalam antarmuka harus menentukan nilai awal saat mendefinisikan.
03. Semua metode dalam antarmuka adalah metode abstrak, dan metode dalam antarmuka akan secara otomatis dimodifikasi dengan abstrak publik, yaitu, hanya ada metode abstrak global dalam antarmuka.
04. Antarmuka tidak dapat dipakai dan tidak mungkin ada struktur di antarmuka.
05 Hubungan warisan dapat diwujudkan melalui meluas antar antarmuka. Satu antarmuka dapat mewarisi beberapa antarmuka, tetapi antarmuka tidak dapat mewarisi kelas.
06. Kelas Implementasi Antarmuka harus mengimplementasikan semua metode antarmuka, jika tidak, ia harus didefinisikan sebagai kelas abstrak.