Sobes.tech
Intern

Чӣ тавр барномасозии объектӣ (ООП)?

sobes.tech AI

Ҷавоб аз AI

Барномаи навъҳои объектӣ (OOP) як парадигмаи барномасозӣ мебошад, ки асоси онро концепсияи "объектҳо" ташкил медиҳад, ки маълумот (майдонҳо, хусусиятҳо) ва код (методҳо, процедураҳо) доранд.

Принсипҳои асосии OOP:

  • Инкапсулятсия: Гурӯҳбандии маълумот ва методҳое, ки бо онҳо кор мекунанд, дар як структура — объект. Пинҳон кардани иҷрои дохилии объект.
  • Мирас: Имконият барои эҷоди класи нав дар асоси класи мавҷуда, ки хусусиятҳо ва методҳои онро мерос мебарад. Ин имкон медиҳад, ки код такрор шавад ва иерархияҳои класиҳо созмон дода шаванд.
  • Полиформизм: Имконият барои коркарди объектҳои класиҳои гуногун ба таври якхела. Методҳо бо номи якхела метавонанд амалҳои гуногунро иҷро кунанд, вобаста ба навъи объект.
  • Абстраксия: Тарҷумаи хусусиятҳои муҳими объект, рад кардани тафсилоти ғайриаҳамиятнок. Эҷоди намудҳои умумӣ ва абстрактии маълумот.

Масалан дар Swift:

class Animal {
    var name: String

    init(name: String) {
        self.name = name
    }

    func makeSound() {
        // Иҷрои асосӣ, метавонад дар класи зернависӣ такрор шавад
    }
}

class Dog: Animal {
    override func makeSound() {
        print("Woof!")
    }
}

class Cat: Animal {
    override func makeSound() {
        print("Meow!")
    }
}

// Полиформизм
let animals: [Animal] = [Dog(name: "Buddy"), Cat(name: "Whiskers")]
for animal in animals {
    animal.makeSound() // Методи makeSound() барои ҳар як объект даъват мешавад
}