Komputer, Pemrograman
Elemen model objek Java: kelas abstrak, interface
Ide utama dari kelas abstrak yang terkandung dalam tesis berikut: kadang-kadang tidak memerlukan kelas memasak, dan dalam bentuk "basah". kekosongan tersebut tidak dapat langsung digunakan (instantiate).
Apa adalah kelas abstrak di Jawa
Pertimbangkan contoh lain. Ada Java Kalender kelas abstrak dalam paket java.util. Ini tidak menerapkan kalender tertentu, yang digunakan, misalnya, di Barat dan Eropa Timur, Cina, Korea Utara, Thailand, dll Tapi itu memiliki banyak fitur yang berguna, seperti menambahkan beberapa hari ke tanggal tertentu: .. Fungsi-fungsi ini diperlukan untuk setiap kalender implementasi. Tidak mungkin untuk menghasilkan salinan dari kelas abstrak.
kelas abstrak, metode Java abstrak
Misalkan Anda ingin mengembangkan beberapa elemen grafis, misalnya, bentuk geometris: .. Sebuah lingkaran, persegi panjang, bintang, dll Dan ada suatu wadah yang menarik mereka. Setiap komponen dari penampilan berbeda, sehingga metode yang tepat (bahkan jika hal itu disebut cat) diimplementasikan secara berbeda. Namun, masing-masing komponen memiliki banyak kesamaan: .. Angka tersebut harus dimasukkan dalam kotak mungkin memiliki warna menjadi terlihat dan tak terlihat, dll Dengan kata lain, Anda perlu membuat kelas induk untuk semua angka-angka ini, di mana masing-masing komponen akan mewarisi sifat-sifat umum.
Jika kelas memiliki metode abstrak, kelas abstrak. Sebelum kelas kata menempatkan kata kunci abstrak, judul metode - juga. Setelah judul metode tersebut diperlukan untuk menempatkan titik koma. Di Jawa, kelas abstrak tidak dapat menghasilkan salinan. Jika kita ingin melarang penciptaan mereka, bahkan jika tidak ada metode abstrak kelas, kelas dapat dinyatakan abstrak. Tetapi jika kelas memiliki setidaknya satu metode abstrak, kelas harus abstrak. Tidak mungkin untuk kelas itu dan abstrak, dan terakhir, dan metode juga. Metode ini tidak bisa abstrak, swasta, statis, asli. Subclass satu bisa menyatakan non-abstrak dan instantiate, mereka harus menerapkan semua metode abstrak dari orang tua. Kelas itu sendiri dapat menggunakan metode abstrak.
contoh:
- kelas abstrak AClass {
- Metode kekosongan public abstract (int a) ;
- }
- kelas BClass meluas AClass {
- Metode public void (int a) {
- // tubuh
- }
Diizinkan variabel seperti kelas abstrak. Mereka dapat merujuk ke anak non-abstrak dari kelas itu atau null.
Antarmuka di Jawa - sebuah alternatif untuk beberapa warisan
Di Jawa, ada warisan beberapa, karena kemudian ada masalah-masalah tertentu. Sebuah kelas tidak dapat mewarisi dari beberapa kelas. Tapi dia bisa mengimplementasikan beberapa interface.
Java interface dan kelas abstrak - konsep yang serupa, tetapi tidak identik. Antarmuka dapat dinyatakan sebagai publik, maka itu tersedia untuk semua, atau Anda dapat menghilangkan pengubah publik, maka antarmuka hanya tersedia dalam kemasannya. kata kunci abstrak tidak diperlukan, karena antarmuka dan begitu abstrak, tetapi Anda dapat menentukan.
Deklarasi interface
Dimulai dengan sebuah sundulan, dan pertama mungkin pergi ke masyarakat kata kunci, kemudian - antarmuka kata. Lalu ada bisa menjadi kata meluas dan mentransfer interface, dari yang mewarisi ini. Hal ini tidak diperbolehkan untuk mengulang, dan tidak mungkin untuk membentuk rasio siklik dari hubungan warisan. Kemudian datang tubuh antarmuka, diapit oleh kurung keriting. Dalam tubuh elemen antarmuka dinyatakan: konstanta Field dan metode abstrak. Semua kolom public static final - semua pengubah ini tidak diperlukan. Semua metode dianggap abstrak publik - pengubah ini juga dapat ditentukan. Sekarang, cukup dikatakan tentang perbedaan antara kelas abstrak dari antarmuka Java.
- antarmuka publik AI meluas B, C, D {
- // tubuh
- }
Untuk menyatakan antarmuka pewaris kelas, perlu menggunakan alat kata kunci:
- kelas AClass mengimplementasikan BI, CI, DI {}
Artinya, jika setelah deklarasi kelas mengimplementasikan nama interface tertentu, mengimplementasikan kelasnya. Ahli waris dari kelas ini mendapat unsur-unsurnya, sehingga mereka juga menjualnya.
Variabel dari jenis antarmuka juga diperbolehkan. Mereka dapat merujuk ke jenis kelas yang mengimplementasikan interface ini, atau null. variabel tersebut memiliki semua unsur dari kelas Object, karena objek yang dihasilkan oleh kelas, dan mereka, pada gilirannya, berasal dari kelas Object.
Pada artikel ini, kita membahas beberapa elemen dari model objek Java - kelas abstrak, abstrak metode antarmuka.
Similar articles
Trending Now