Junior
Программалоодо полиморфизмдин мааниси эмнеде?
sobes.tech AI
AIден жооп
Полиформизм мүмкүнчүлүк берет ар кандай класстардын объекттерин, алардын жалпы интерфейси аркылуу колдонууга, мисалы, негизги класс же интерфейс аркылуу.
Анын негизги максаты:
- Объекттер менен ишти бириктирүү: Код жазууга мүмкүндүк берет, ал конкреттүү объекттин түрүнө көз каранды эмес, анын ордуна абстракция аркылуу иштейт.
- Ийкемдүүлүк: Ошол эле интерфейсти ишке ашыратган жаңы класстарды кошуу оңой, мурунку кодду өзгөртүүнүн зарылдыгы жок.
- Окумдуулук жана тейлөө: Код структураланган жана түшүнүктүү болот, анткени конкреттүү ишке ашыруу кыйынчылыгы бир интерфейстин артында жашырылган.
Принципи — бир эле метод, ар кандай объекттерде чакырылганда, алардын конкреттүү түрүнө жараша, ар башкача иш алып барат.
PHP мисалы:
<?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!" чыгарат
hearAnimalSound($cat); // "Meow!" чыгарат
?>
Бул мисалда, hearAnimalSound функциясы, Animal интерфейсин ишке ашыратган ар кандай объектти кабыл алат. makeSound() методу чакырылганда, ал Dog жана Cat объекттери үчүн ар башкача иштейт, бул полиморфизмди көрсөтөт.