Sobes.tech
Junior — Middle

Объектке багытталган программалоо үчүн SOLID принциптеринде 'L' тамгасы эмне мааниге ээ?

sobes.tech AI

AIден жооп

SOLID принциптеринде "L" тамгасы Лисков алмаштыруу принципин (Liskov Substitution Principle, LSP) билдирет.

Бул принцип, подкласс объекттери негизги класс объекттери менен алмаштырылганда, программанын туура иштешин бузбашы керектигин айтат. Башкача айтканда, эгер B классы A класынан мурас алса, анда B классынын объекттери, A классынын объекттеринин ордуна колдонулуп, күтүлбөгөн каталар же жүрүм-турум өзгөрүүлөрү болбошу керек.

LSP бузулушунун мисалы:

class Bird {
    func fly() {}
}

class Ostrich: Bird {
    override func fly() {
        fatalError("Кулагы учуп кете албайт")
    }
}

Бул жерде Ostrich Birdтен мурас алат, бирок туура эмес ишке ашырбайт, бул LSPни бузат.

Туура класстарды долбоорлоо, бул принципти сактоого жардам берет, жана коддун ишенимдүүлүгүн жана кеңейтиңдүүлүгүн жакшыртат.