Perbezaan Utama – Polimorfisme lwn Warisan dalam OOP
Pengaturcaraan Berorientasikan Objek (OOP) biasanya digunakan untuk membangunkan perisian. Banyak bahasa pengaturcaraan menyokong pengaturcaraan berorientasikan objek. Pengaturcaraan berorientasikan objek ialah metodologi untuk mereka bentuk program menggunakan kelas dan objek. Kelas dalam OOP ialah pelan tindakan untuk mencipta objek. Kelas mempunyai sifat dan kaedah. Objek ialah contoh kelas. OOP mengandungi empat tiang seperti Pewarisan, Polimorfisme, Abstraksi dan Enkapsulasi. Artikel ini membincangkan perbezaan antara Polimorfisme dan Warisan dalam OOP. Perbezaan utama antara Polimorfisme dan Warisan dalam OOP ialah Polimorfisme ialah keupayaan objek untuk berkelakuan dalam pelbagai cara dan Warisan ialah mencipta kelas baharu menggunakan sifat dan kaedah kelas sedia ada.
Apakah Polimorfisme dalam OOP?
Polymorphism adalah untuk menunjukkan pelbagai bentuk. Satu objek boleh mempunyai pelbagai tingkah laku. Polimorfisme boleh dibahagikan kepada dua kategori. Ia membebankan dan mengatasi.
Melebihi muatan
Rujuk atur cara di bawah yang ditulis dalam Java.
Rajah 01: Melebihi
Mengikut program di atas, objek jenis A dicipta. Apabila memanggil obj.sum(); ia akan memberikan output yang berkaitan dengan kaedah sum(). Apabila memanggil obj.sum(2, 3); ia akan memberikan output yang berkaitan dengan jumlah (int a, int b). Dapat diperhatikan bahawa objek yang sama mempunyai tingkah laku yang berbeza bergantung kepada keadaan. Apabila terdapat berbilang kaedah dengan nama yang sama, tetapi dengan parameter yang berbeza, ia dikenali sebagai lebihan beban. Ia juga dikenali sebagai polimorfisme masa pengikatan statik atau kompilasi.
Mengatasi
Satu lagi jenis Polimorfisme adalah mengatasi. Rujuk atur cara di bawah yang ditulis dalam Java.
Rajah 02: Mengatasi
Menurut program di atas, terdapat paparan kaedah() dalam kelas A. Kelas B dilanjutkan daripada kelas A. Oleh itu, semua kaedah dalam kelas A boleh diakses oleh kelas B. Ia adalah warisan. Konsep pewarisan diterangkan kemudian.
Kelas B juga mempunyai paparan kaedah yang sama(). Apabila mencipta objek jenis A dan memanggil kaedah paparan, output akan memberikan B. Kaedah paparan Kelas A ditindih oleh kaedah paparan kelas B. Jadi, output ialah B.
Apabila terdapat kaedah dengan nama yang sama dan parameter yang sama tetapi dalam dua kelas yang berbeza, dan ia dipautkan dengan warisan ia dikenali sebagai mengatasi. Ia juga dikenali sebagai pengikatan Lewat, Pengikatan Dinamik, Polimorfisme Masa Jalan. Lebihan beban dan mengatasi dipanggil sebagai Polimorfisme. Ia merupakan konsep utama dalam Pengaturcaraan Berorientasikan Objek.
Apakah Warisan dalam OOP?
Rujuk atur cara di bawah yang ditulis dalam Java.
Rajah 03: Contoh Warisan
Menurut atur cara di atas, kelas A mempunyai kaedah sum() dan kelas B mempunyai kaedah sub().
Kaedah sum() kelas A boleh digunakan dalam kelas B menggunakan kata kunci lanjutan. Menggunakan semula sifat dan kaedah dalam kelas sedia ada untuk mencipta kelas baharu dikenali sebagai Warisan. Malah tiada kaedah sum() dalam kelas B; ia diwarisi daripada kelas A. Warisan berguna untuk kebolehgunaan semula kod. Kelas yang lebih lama dipanggil kelas asas, kelas super atau kelas induk. Kelas terbitan dipanggil subkelas atau kelas anak.
Jenis Warisan
Terdapat pelbagai jenis pusaka. Ia adalah Warisan Satu Peringkat, Warisan Berbilang Peringkat, Warisan Berbilang, Warisan Hierarki dan Warisan Hibrid.
Warisan Tunggal
Dalam Warisan Tunggal, terdapat satu kelas super dan satu subkelas. Jika kelas A ialah kelas super dan kelas B ialah sub kelas, semua sifat dan kaedah kelas A boleh diakses oleh kelas B. Hanya ada satu tahap; oleh itu, ia dipanggil sebagai warisan satu peringkat.
Warisan Berbilang Peringkat
Dalam Warisan Pelbagai Peringkat terdapat tiga peringkat kelas. Kelas pertengahan mewarisi daripada kelas super. Subkelas mewarisi daripada kelas pertengahan. Jika terdapat tiga kelas sebagai A, B dan C dan A ialah kelas super dan B ialah kelas pertengahan. Kemudian B mewarisi daripada A dan C mewarisi daripada B, ia adalah Warisan Pelbagai Peringkat.
Pusaka Berbilang
Dalam Multiple Inheritance, terdapat banyak kelas super dan satu subkelas. Jika terdapat tiga kelas super yang dipanggil A, B, C dan D ialah subkelas, maka kelas D boleh mewarisi daripada A, B dan C. Pewarisan Berbilang disokong dalam bahasa pengaturcaraan C++. Ia tidak disokong dalam bahasa pengaturcaraan seperti Java atau C. Antara muka digunakan untuk melaksanakan Multiple Inheritance dalam bahasa ini.
Warisan Hierarki
Jika terdapat kelas yang dipanggil A sebagai kelas super dan B, C ialah subkelas, subkelas tersebut boleh mewarisi sifat dan kaedah kelas A. Jenis warisan itu dikenali sebagai Warisan Hierarki.
Warisan Hibrid
Terdapat satu lagi jenis warisan istimewa yang dikenali sebagai Pusaka Hibrid. Ia adalah gabungan warisan berbilang peringkat dan berbilang. Jika A, B, C dan D ialah kelas dan B mewarisi daripada A dan D mewarisi daripada kedua-dua B dan C, maka ia adalah warisan Hibrid.
Apakah Persamaan Antara Polimorfisme dan Warisan dalam OOP?
Kedua-duanya adalah konsep Pengaturcaraan Berorientasikan Objek
Apakah Perbezaan Antara Polimorfisme dan Warisan dalam OOP?
Polymorphism vs Inheritance dalam OOP |
|
Polymorphism ialah keupayaan objek untuk berkelakuan dalam pelbagai cara. | Warisan ialah mencipta kelas baharu menggunakan sifat dan kaedah kelas sedia ada. |
Penggunaan | |
Polymorphism digunakan untuk objek memanggil bentuk kaedah pada masa penyusunan dan masa jalan. | Warisan digunakan untuk kebolehgunaan semula kod. |
Pelaksanaan | |
Polymorphism dilaksanakan dalam kaedah. | Warisan dilaksanakan dalam kelas. |
Kategori | |
Polymorphism boleh dibahagikan kepada overloading dan overriding. | Warisan boleh dibahagikan kepada satu peringkat, berbilang peringkat, hierarki, hibrid dan berbilang warisan. |
Ringkasan – Polimorfisme lwn Warisan dalam OOP
Polymorphism dan Inheritance ialah konsep utama dalam Pengaturcaraan Berorientasikan Objek. Perbezaan antara Polimorfisme dan Warisan dalam OOP ialah Polimorfisme ialah antara muka biasa kepada pelbagai bentuk dan Warisan adalah untuk mencipta kelas baharu menggunakan sifat dan kaedah kelas sedia ada. Kedua-dua konsep digunakan secara meluas dalam Pembangunan Perisian.
Muat turun PDF Polymorphism vs Inheritance dalam OOP
Anda boleh memuat turun versi PDF artikel ini dan menggunakannya untuk tujuan luar talian seperti dalam nota petikan. Sila muat turun versi PDF di sini Perbezaan Antara Polimorfisme dan Warisan dalam OOP