Warisan ialah salah satu daripada tiga prinsip asas pengaturcaraan berorientasikan objek.
Membenarkan penciptaan klasifikasi hierarki.
Dengan pewarisan, anda boleh mencipta kelas umum yang mentakrifkan ciri-ciri biasa kepada set item yang berkaitan.
Kelas umum ini boleh diwarisi oleh kelas lain yang lebih khusus, yang menambah ciri eksklusif.
Dalam jargon Java, kelas yang diwarisi dipanggil superclass.
Kelas yang mewarisi dipanggil subkelas.
Subkelas ialah versi khusus kelas super.
Subkelas mewarisi semua pembolehubah dan kaedah daripada superclass dan menambah elemen uniknya sendiri.
Aspek asas pewarisan
Java menyokong warisan, membenarkan satu kelas untuk menggabungkan kelas lain dalam pengisytiharannya.
Ini dilakukan dengan kata kunci lanjutan.
Subkelas menambah fungsi (melanjutkan) kepada superclass.
Contohnya ialah penciptaan superclass yang dipanggil TwoDShape, yang menyimpan lebar dan ketinggian objek dua dimensi.
Subkelas yang dipanggil Triangle dicipta untuk memanjangkan TwoDShape.
Kata kunci lanjutan digunakan untuk mencipta subkelas.
TwoDShape mentakrifkan atribut bentuk dua dimensi generik, seperti segi empat sama, segi empat tepat, segi tiga, dll.
Kelas Triangle ialah subkelas TwoDShape dan mencipta jenis tertentu: segitiga.
Segitiga mewarisi segala-galanya daripada TwoDShape dan menambah medan gaya, kaedah kawasan() dan kaedah showStyle().
gaya menyimpan gaya segi tiga, yang boleh berupa apa-apa perihalan seperti "penuh", "kontur" atau "isosceles".
Kaedah luas() mengira dan mengembalikan luas segi tiga.
Kaedah showStyle() memaparkan gaya segi tiga.
Segitiga boleh mengakses ahli lebar dan tinggi TwoDShape, kedua-duanya dalam kawasan() dan terus dalam objek t1 dan t2.
TwoDShape, walaupun merupakan kelas super Triangle, ialah kelas bebas dan boleh digunakan secara berasingan.
Bentuk TwoDShape = TwoDShape();
bentuk.lebar = 10;
bentuk.tinggi = 20;
shape.showDim();
nama subkelas kelas memanjangkan nama kelas super {
// badan kelas
}
Di Java, anda hanya boleh menentukan satu superclass untuk mana-mana subkelas yang anda buat.
Java tidak menyokong berbilang warisan (warisan daripada berbilang superclass dalam subkelas yang sama), tidak seperti C++.
Adalah mungkin untuk membuat hierarki warisan yang mana subkelas menjadi superclass subclass lain.
Tiada kelas boleh menjadi kelas super bagi dirinya sendiri.
Kelebihan pewarisan ialah kelas super boleh mentakrifkan atribut yang biasa kepada berbilang objek, membenarkan penciptaan banyak subkelas tertentu.
Setiap subkelas boleh mentakrifkan klasifikasi khususnya sendiri berdasarkan superclass.
Contohnya ialah mencipta subkelas TwoDShape untuk merangkum segi empat tepat.
Kelas Rectangle ialah subkelas TwoDShape.
Menambah kaedah isSquare(), yang menentukan sama ada segi empat tepat ialah segi empat sama (apabila lebarnya sama dengan ketinggian).
Juga menambah kaedah kawasan(), yang mengira luas segi empat tepat.
Atas ialah kandungan terperinci Warisan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!