Pengaturcaraan Berorientasikan Objek (OOP) biasanya digunakan untuk membangunkan perisian. Banyak bahasa pengaturcaraan menyokong pengaturcaraan berorientasikan objek. Pengaturcaraan Berorientasikan Objek adalah metodologi untuk merancang program menggunakan kelas dan objek. Kelas di Oop adalah pelan tindakan untuk membuat objek. Kelas mempunyai sifat dan kaedah. Objek adalah contoh kelas. OOP mengandungi empat tiang seperti warisan, polimorfisme, abstraksi dan enkapsulasi. Artikel ini membincangkan perbezaan antara polimorfisme dan warisan di OOP. The Perbezaan utama antara polimorfisme dan warisan di OOP ialah Polimorfisme adalah keupayaan objek untuk berkelakuan dalam pelbagai cara dan warisan adalah untuk membuat kelas baru menggunakan sifat dan kaedah kelas yang ada.
1. Gambaran Keseluruhan dan Perbezaan Utama
2. Apakah polimorfisme di OOP
3. Apa itu warisan di OOP
4. Persamaan antara polimorfisme dan warisan di OOP
5. Perbandingan sampingan - polimorfisme vs warisan dalam oop dalam bentuk jadual
6. Ringkasan
Polimorfisme adalah untuk menunjukkan pelbagai bentuk. Satu objek boleh mempunyai banyak tingkah laku. Polimorfisme boleh dibahagikan kepada dua kategori. Mereka terlalu banyak dan mengatasi.
Rujuk program di bawah yang ditulis di Java.
Rajah 01: Berlebihan
Menurut program di atas, objek jenis A dibuat. Semasa memanggil OBJ.jumlah (); ia akan memberikan output yang berkaitan dengan jumlah kaedah (). Semasa memanggil OBJ.jumlah (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 pada keadaan. Apabila terdapat banyak kaedah dengan nama yang sama, tetapi dengan parameter yang berbeza, ia dikenali sebagai terlalu banyak. Ia juga dikenali sebagai mengikat statik atau menyusun polimorfisme masa.
Satu lagi jenis polimorfisme adalah mengatasi. Rujuk program di bawah yang ditulis di Java.
Rajah 02: Mengatasi
Menurut program di atas, terdapat paparan kaedah () dalam Kelas A. Kelas B meluas dari Kelas A. Oleh itu, semua kaedah dalam Kelas A boleh diakses oleh Kelas B. Ia adalah warisan. Konsep warisan diterangkan lebih jauh kemudian.
Kelas B juga mempunyai paparan kaedah yang sama (). Apabila membuat objek Jenis A dan Kaedah Paparan Panggilan, output akan memberi b. Kaedah paparan Kelas A ditindih oleh kaedah paparan Kelas B. Jadi, outputnya adalah b.
Apabila terdapat kaedah dengan nama yang sama dan parameter yang sama tetapi dalam dua kelas yang berbeza, dan mereka dikaitkan dengan warisan, ia dikenali sebagai mengatasi masalah. Ia juga dikenali sebagai Mengikat lewat, mengikat dinamik, polimorfisme runtime. Beban dan overriding dipanggil sebagai polimorfisme. Ini adalah konsep utama dalam pengaturcaraan berorientasikan objek.
Rujuk program di bawah yang ditulis di Java.
Rajah 03: Contoh warisan
Menurut program di atas, Kelas A mempunyai kaedah Jumlah () dan Kelas B mempunyai kaedah sub ().
Kaedah Jumlah () Kelas A boleh digunakan dalam Kelas B menggunakan kata kunci Extend. Menggunakan semula sifat dan kaedah dalam kelas yang sedia ada untuk membuat kelas baru dikenali sebagai warisan. Malah tidak ada jumlah () kaedah dalam Kelas B; ia diwarisi dari Kelas A. Warisan berguna untuk kebolehgunaan semula kod. Kelas yang lebih tua dipanggil Kelas Asas, Superclass atau kelas induk. Kelas yang diperolehi dipanggil subclass atau kelas kanak -kanak.
Terdapat pelbagai jenis warisan. Mereka adalah warisan satu peringkat, warisan pelbagai peringkat, warisan berganda, warisan hierarki dan warisan hibrid.
Dalam warisan tunggal, terdapat satu kelas super dan satu sub kelas. Jika Kelas A adalah kelas Super dan Kelas B adalah kelas sub, semua sifat dan kaedah Kelas A boleh diakses oleh Kelas B. Hanya ada satu tahap; Oleh itu, ia dipanggil sebagai warisan peringkat tunggal.
Dalam warisan pelbagai peringkat terdapat tiga peringkat kelas. Kelas pertengahan mewarisi dari kelas super. Kelas sub mewarisi dari kelas pertengahan. Sekiranya terdapat tiga kelas sebagai A, B dan C dan A adalah kelas super dan B adalah kelas pertengahan. Kemudian B mewarisi dari A dan C yang diwarisi dari B, ia adalah warisan pelbagai peringkat.
Dalam pelbagai warisan, terdapat banyak kelas super dan satu sub kelas. Sekiranya terdapat tiga kelas super yang dipanggil A, B, C dan D adalah kelas sub, maka Kelas D boleh mewarisi dari A, B dan C. Warisan berganda disokong dalam bahasa pengaturcaraan c++. Ia tidak disokong dalam bahasa pengaturcaraan seperti Java atau C#. Antara muka digunakan untuk melaksanakan pelbagai warisan dalam bahasa -bahasa ini.
Sekiranya terdapat kelas yang dipanggil sebagai kelas super dan b, c adalah kelas sub, kelas sub -sub boleh mewarisi sifat dan kaedah kelas a. Jenis warisan semacam itu dikenali sebagai warisan hierarki.
Terdapat satu lagi jenis warisan khas yang dikenali sebagai warisan hibrid. Ia adalah gabungan pelbagai peringkat dan pelbagai warisan. Jika A, B, C dan D adalah kelas dan B mewarisi dari A dan D adalah mewarisi dari kedua -dua B dan C, maka itu adalah warisan hibrid.
Polimorfisme vs warisan di OOP | |
Polimorfisme adalah keupayaan objek untuk berkelakuan dalam pelbagai cara. | Warisan adalah untuk membuat kelas baru menggunakan sifat dan kaedah kelas yang ada. |
Penggunaan | |
Polimorfisme digunakan untuk objek untuk memanggil bentuk kaedah pada masa penyusunan dan runtime. | Warisan digunakan untuk kebolehgunaan semula kod. |
Pelaksanaan | |
Polimorfisme dilaksanakan dalam kaedah. | Warisan dilaksanakan di kelas. |
Kategori | |
Polimorfisme boleh dibahagikan kepada kelebihan beban dan mengatasi. | Warisan boleh dibahagikan kepada tahap tunggal, pelbagai peringkat, hierarki, hibrid, dan pelbagai warisan. |
Polimorfisme dan warisan adalah konsep utama dalam pengaturcaraan berorientasikan objek. Perbezaan antara polimorfisme dan warisan di OOP ialah polimorfisme adalah antara muka yang sama dengan pelbagai bentuk dan warisan adalah untuk membuat kelas baru menggunakan sifat dan kaedah kelas yang ada. Kedua -dua konsep digunakan secara meluas dalam pembangunan perisian.
Anda boleh memuat turun versi PDF artikel ini dan menggunakannya untuk tujuan luar talian mengikut nota petikan. Sila muat turun versi pdf di sini perbezaan antara polimorfisme dan warisan di OOP