Polymorphism membenarkan pelbagai jenis objek untuk bertindak balas kepada mesej yang sama, seperti panggilan fungsi, dalam seragam cara. C menyediakan berbilang mekanisme untuk mencapai polimorfisme.
Pemuatan berlebihan: Fungsi dengan nama yang sama tetapi jenis parameter yang berbeza digunakan untuk menyediakan pelaksanaan berbeza untuk berbeza jenis.
Templat: Kelas dan fungsi boleh ditakrifkan menggunakan parameter jenis generik, membenarkan satu fungsi berfungsi dengan berbilang jenis.
Penghantaran Maya: Fungsi dalam kelas boleh diisytiharkan maya, yang membolehkan kelas terbitan mengatasi fungsi dan menyediakan pelaksanaan mereka sendiri.
Polymorfisme Disediakan Pengkompil: Pengendali dan operasi terbina dalam tertentu dibebankan oleh pengkompil untuk menyokong polimorfisme.
Penukaran: Tersirat dan penukaran eksplisit boleh digunakan untuk menukar antara jenis yang berbeza, memudahkan interaksi antara data yang berbeza jenis.
Paksa/Penghantaran: Penukaran jenis tersirat atau eksplisit boleh dilakukan secara manual atau melalui hantaran.
Polimorfisme masa kompilasi: Polimorfisme dikendalikan oleh pengkompil semasa penyusunan. Ini termasuk lebihan muatan dan templat.
Polimorfisme Masa Jalanan: Polimorfisme dikendalikan secara dinamik semasa pelaksanaan program. Ini termasuk penghantaran maya.
Polymorfisme Ad-hoc: Polimorfisme yang dicapai dengan menyatakan kes individu untuk setiap jenis yang perlu disokong.
Polimorfisme Parametrik: Polimorfisme dicapai menggunakan jenis generik tanpa menyatakan khusus operasi jenis. Ini biasanya dilihat dengan templat dan makro.
Perbincangan
Atas ialah kandungan terperinci Bagaimanakah C Mencapai Polimorfisme, dan Apakah Jenis-Jenisnya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!