Junior
Proqramlaşdırmada çox formallığın mənası nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Polimorfizm, ümumi bir "növ" (məsələn, əsas sinif və ya interfeys) vasitəsilə ümumi interfeysə malik müxtəlif siniflərin obyektlərindən istifadə etməyə imkan verir.
Əsas məqsədi:
- Obyektlərlə işləmənin vahidləşdirilməsi: Bu, kodun müəyyən obyekt növündən asılı olmadan yazılmasına imkan verir və onunla abstraksiya vasitəsilə işləyir.
- Esneklik: Eyni interfeysi həyata keçirən yeni sinflər əlavə etmək asandır, mövcud kodu dəyişdirmədən.
- Oxunaqlıq və dəstək: Kod daha strukturlaşdırılmış və anlaşılandır, çünki konkret həyata keçirmənin mürəkkəbliyi tək bir interfeys arxasında gizlənir.
Prinsip odur ki, eyni metod müxtəlif obyektlərdə çağırıldıqda, onların konkret növündən asılı olaraq fərqli davranır.
PHP nümunəsi:
<?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!" çap edir
hearAnimalSound($cat); // "Meow!" çap edir
?>
Bu nümunədə, hearAnimalSound funksiyası, Animal interfeysini həyata keçirən hər hansı bir obyekt qəbul edir. Bu funksiyada makeSound() metodunun çağırılması, Dog və Cat obyektləri üçün fərqli davranır və polimorfizmi nümayiş etdirir.