Junior
Dasturlashda polimorfizm ma'nosi nima?
sobes.tech AI
AIdan javob
Polimorfizm imkon beradi turli sinflarga tegishli obyektlarni umumiy "tur" (masalan, asosiy sinf yoki interfeys) orqali ishlatishga.
Uning asosiy ma'nosi:
- Obyektlar bilan ishlashni birlashtirish: Kod yozishga imkon beradi, u aniq obyekt turiga bog'liq emas, balki abstraktsiya orqali ishlaydi.
- Moslashuvchanlik: Bir xil interfeysni amalga oshiradigan yangi sinflarni qo'shish oson, mavjud kodni o'zgartirmasdan.
- O'qilishi va qo'llab-quvvatlanishi: Kod yanada tuzilgan va tushunarli bo'ladi, chunki murakkablik faqat bitta interfeys orqasida yashiriladi.
Prinsip shundaki, bir xil metod, turli obyektlarda chaqirilganda, ularning aniq turiga qarab, turlicha harakat qiladi.
PHP misoli:
<?php
interface Animal {
public function makeSound();
}
class Dog implements Animal {
public function makeSound() {
return "Woof!";
}
}
class Cat implements Animal {
public function makeSound() {
return "Meow!";
}
}
function hearAnimalSound(Animal $animal) {
echo $animal->makeSound() . "\n";
}
$dog = new Dog();
$cat = new Cat();
hearAnimalSound($dog); // "Woof!" chiqaradi
hearAnimalSound($cat); // "Meow!" chiqaradi
?>
Ushbu misolda, hearAnimalSound funksiyasi, Animal interfeysini amalga oshiradigan har qanday obyektni qabul qiladi. Bu funksiyada makeSound() metodining chaqirilishi, Dog va Cat obyektlari uchun turlicha harakat qiladi, bu polimorfizmni ko'rsatadi.