Sobes.tech
Junior — Middle

Оё метавонед шарҳ диҳед, ки дар барномасии объектӣ-равона чӣ маъно дорад?

sobes.tech AI

Ҷавоб аз AI

Абстраксия дар барномаи объектӣ-ҳуқуқӣ принсипест, ки имкон медиҳад, ки тафсилоти мураккаби иҷроишро пинҳон кард ва танҳо интерфейзи заруриро барои муошират бо объект нишон дод. Дар PHP, ин аксар вақт тавассути синфҳои абстрактӣ ва интерфейсҳо амалӣ карда мешавад, ки маҷмӯи усулҳоро бе иҷрои мушаххасашон муайян мекунанд.

Масалан, синфи абстрактии Animal метавонад усули makeSound()-ро эълон кунад, аммо онро иҷро накунад. Синфҳои мушаххас, мисли Dog ё Cat, аз Animal мерос мегиранд ва ин усулро ба тариқи худ иҷро мекунанд. Ин имкон медиҳад, ки бо объектҳо тавассути интерфейси умумӣ кор кард, бе ташвиш дар бораи тафсилоти иҷрои ҳар яке.

abstract class Animal {
    abstract public function makeSound();
}

class Dog extends Animal {
    public function makeSound() {
        echo "Hau-hau";
    }
}

class Cat extends Animal {
    public function makeSound() {
        echo "Miau";
    }
}

function playSound(Animal $animal) {
    $animal->makeSound();
}

playSound(new Dog()); // Натиҷа: Hau-hau
playSound(new Cat()); // Натиҷа: Miau

Инчунин, абстраксия кӯмак мекунад, ки системаҳои чандир ва васеъшаванда эҷод шавад, бо ҷудо кардани интерфейс аз иҷроиш.