Kelas Abstrak vs Warisan
Kelas abstrak dan Warisan adalah dua konsep berorientasi objek penting yang terdapat dalam banyak bahasa pengaturcaraan berorientasikan objek seperti Java. Kelas abstrak boleh dianggap sebagai versi abstrak dari kelas biasa (konkrit), manakala Pewarisan membenarkan kelas baru untuk melanjutkan kelas-kelas lain. Kelas abstrak adalah kelas yang tidak boleh diasumsikan tetapi boleh diperluaskan. Jadi, kelas Abstrak hanya bermakna jika bahasa pengaturcaraan menyokong warisan. Di Jawa, kelas Abstrak diisytiharkan menggunakan kata kunci Abstrak, manakala Memperluas kata kunci digunakan untuk mewarisi dari kelas (super).
Apakah Abstrak Kelas?
Biasanya, kelas Abstrak, juga dikenali sebagai Kelas Abstrak Base (ABC), tidak boleh instantiated (contoh kelas itu tidak boleh dibuat). Oleh itu, kelas Abstrak hanya bermakna jika bahasa pengaturcaraan menyokong warisan (keupayaan untuk membuat subclass daripada melanjutkan kelas). Kelas abstrak biasanya mewakili konsep atau entiti abstrak dengan pelaksanaan sebahagian atau tidak. Oleh itu, kelas Abstrak bertindak sebagai kelas induk dari mana kelas kanak-kanak diperoleh supaya kelas kanak-kanak akan berkongsi ciri-ciri yang tidak lengkap kelas induk dan fungsi boleh ditambah untuk menyelesaikannya.
Kelas abstrak mungkin mengandungi kaedah Abstrak. Subkelas yang memanjangkan kelas abstrak boleh melaksanakan kaedah-kaedah abstrak ini (warisan). Jika kelas kanak-kanak melaksanakan semua kaedah Abstrak, ia adalah kelas konkrit. Tetapi jika tidak, kelas kanak-kanak juga menjadi kelas Abstrak. Apa maksudnya ialah, apabila programmer menamakan kelas sebagai Abstrak, dia mengatakan bahawa kelas itu tidak lengkap dan ia akan mempunyai unsur-unsur yang perlu diselesaikan oleh subclass yang mewarisi. Ini adalah cara yang baik untuk membuat kontrak antara dua pengaturcara, yang menyederhanakan tugas dalam pembangunan perisian. Pengaturcara, yang menulis kod untuk mewarisi, perlu mengikuti definisi kaedah tepat (tetapi tentu saja dapat melaksanakannya sendiri).
Apakah warisan itu?
Inheritance adalah konsep berorientasikan objek, yang membolehkan kelas baru untuk melanjutkan kelas-kelas lain. Memperluas kata kunci digunakan untuk melaksanakan konsep warisan dalam bahasa pengaturcaraan Java. Warisan pada dasarnya menyediakan rezab kod dengan membenarkan memperluaskan sifat dan tingkah laku kelas yang sedia ada oleh kelas yang baru ditakrifkan. Apabila subkelas baru (atau kelas asal) memanjangkan kelas super (atau kelas induk), subkelas akan mewarisi semua atribut dan kaedah kelas super. Subclass boleh memilih untuk mengatasi tingkah laku (menyediakan fungsi baru atau lanjutan kepada kaedah) yang diwarisi dari kelas induk. Biasanya, Kelas subclass tidak boleh memanjangkan pelbagai kelas super (mis. Dalam Java). Oleh itu, anda tidak boleh menggunakan pelbagai untuk warisan. Untuk memiliki banyak warisan, anda perlu menggunakan antara muka.
Apakah perbezaan antara Kelas Abstrak dan Warisan?
Kelas abstrak biasanya mewakili konsep abstrak atau entiti dengan sebahagian atau tiada pelaksanaan. Warisan membolehkan kelas baru untuk melanjutkan kelas-kelas lain. Kerana, kelas Abstrak tidak dapat diterapkan, anda perlu menggunakan konsep warisan untuk menggunakan kelas Abstrak. Jika tidak, kelas Abstrak tidak digunakan. Kelas abstrak mungkin mengandungi kaedah Abstrak dan apabila kelas dilanjutkan, semua kaedah (Abstrak dan konkrit) diwarisi. Kelas yang diwarisi boleh melaksanakan sebarang atau semua kaedah. Jika semua kaedah Abstrak tidak dilaksanakan, kelas itu juga menjadi kelas Abstrak. Kelas tidak boleh mewarisi dari lebih daripada satu kelas Abstrak (ini bukan kualiti kelas Abstrak per se, tetapi sebaliknya merupakan warisan).