Video: Create PDF Documents with Images and QR Codes 2024
Kedua-dua antara muka dan kelas abstrak mempunyai kaedah abstrak di Jawa. Tetapi kaedah abstrak memainkan peranan yang sedikit berbeza dalam kedua-dua jenis rujukan ini. Bagaimanakah anda boleh menyimpannya terus dalam fikiran anda?
Perkara pertama yang perlu dilakukan ialah mengingati bahawa tiada siapa yang belajar tentang konsep pengaturcaraan berorientasikan objek tanpa mendapat banyak amalan dalam menulis kod. Sekiranya anda tersesat, ini mungkin perkara yang baik. Ini bermakna anda sudah cukup memahami untuk mengetahui betapa rumitnya perkara ini. Lebih banyak kod yang anda tulis, semakin selesa dengan kelas, antara muka, dan semua idea lain.
Perkara seterusnya yang perlu dilakukan ialah untuk mengasingkan perbezaan dalam cara anda mengisytiharkan kaedah abstrak. Inilah kisahnya.
Dalam Kelas Biasa (Bukan Abstrak) | Dalam Antara Muka | Dalam Kelas Abstrak | |
Adakah kaedah abstrak dibenarkan? | Tidak | Ya | Ya |
Bolehkah deklarasi kaedah mengandungi kata kunci abstrak ? | Tidak | Ya | Ya |
Bolehkah deklarasi kaedah mengandungi kata kunci lalai (yang bermaksud "tidak abstrak")? | Tidak | Ya | Tidak |
Tidak ada abstrak atau lalai | Tidak abstrak | --2 -> | Kedua-dua antara muka dan kelas abstrak mempunyai kaedah abstrak. Oleh itu, anda mungkin tertanya-tanya bagaimana anda harus memilih antara mengisytiharkan antara muka dan mengisytiharkan kelas abstrak. Sebenarnya, anda mungkin meminta tiga pengaturcara profesional bagaimana antara muka dan kelas abstrak berbeza antara satu sama lain. Sekiranya anda melakukannya, anda boleh mendapat lima jawapan yang berlainan. (Ya, lima jawapan, bukan tiga jawapan.) |
Memperluas subclass mewakili
ialah hubungan- . Melaksanakan antara muka mewakili boleh melakukan
- hubungan. Sekiranya anda mahukan bukti lebih jelas tentang perbezaan antara antara muka dan kelas abstrak, pertimbangkan ini: Kelas boleh melaksanakan banyak antara muka, tetapi kelas boleh memanjangkan satu kelas yang lain, walaupun satu kelas itu adalah kelas abstrak. Jadi, selepas anda mengumumkan Anjing kelas awam memanjangkan HousePet
anda juga tidak boleh membuat
Anjing
melanjutkan kelas
Kawan
. Tetapi anda boleh membuat
Anjing
melaksanakan antara muka
Befriendable
. Dan kemudian anda boleh membuat kelas
Anjing
yang sama melaksanakan antara muka
yang boleh dilatih
.
Dan, jika anda menginginkan perbezaan
lebih
yang nyata antara antara muka dan kelas abstrak, inilah satu untuk anda: Antara muka tidak boleh mengandungi sebarang medan bukan statik, tidak akhir. Jadi di sana. Antara muka dan kelas abstrak berbeza dari satu sama lain. Tetapi jika anda baru dalam permainan, anda tidak perlu bimbang tentang perbezaannya. Cuma baca sebanyak mungkin kod yang anda boleh, dan jangan takut apabila anda melihat kaedah abstrak. Itu sahaja yang ada padanya.