Sobes.tech
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.