Perbezaan Antara Polimorfisme dan Warisan dalam OOP

Isi kandungan:

Perbezaan Antara Polimorfisme dan Warisan dalam OOP
Perbezaan Antara Polimorfisme dan Warisan dalam OOP

Video: Perbezaan Antara Polimorfisme dan Warisan dalam OOP

Video: Perbezaan Antara Polimorfisme dan Warisan dalam OOP
Video: Belajar Java [OOP] - 23 - Polymorphism 2024, Disember
Anonim

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.

Perbezaan Antara Polimorfisme dan Warisan dalam OOP
Perbezaan Antara Polimorfisme dan Warisan dalam OOP

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.

Perbezaan Antara Polimorfisme dan Warisan dalam OOP_Rajah 02
Perbezaan Antara Polimorfisme dan Warisan dalam OOP_Rajah 02

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.

Perbezaan Utama Antara Polimorfisme dan Warisan dalam OOP
Perbezaan Utama Antara Polimorfisme dan Warisan dalam OOP

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

Disyorkan: