Sobes.tech
Intern

Mis on objektorienteeritud programmeerimine (OOP)?

sobes.tech AI

Vastus AI-lt

Objektipõhine programmeerimine (OOP) on programmeerimisparadigma, mis põhineb "objektide" kontseptsioonil, mis sisaldavad andmeid (väljad, atribuudid) ja koodi (meetodid, protseduurid).

OOP põhiprintsiibid:

  • Kapseldus: Andmete ja nende töötlemiseks mõeldud meetodite ühendamine ühte struktuuri — objekti. Objekti sisemise teostuse varjamine.
  • Pärimine: Võimalus luua uus klass olemasoleva põhjal, pärides selle omadused ja meetodid. See võimaldab koodi taaskasutust ja klassihierarhiate loomist.
  • Polümorfism: Võimalus töödelda erinevate klasside objekte samamoodi. Sama nimega meetodid võivad teha erinevaid tegevusi sõltuvalt objekti tüübist.
  • Abstraktsioon: Objekti oluliste omaduste esiletoomine, ebaoluliste detailide hülgamine. Üldiste, abstraktsete andmetüüpide loomine.

Näide Swiftis:

class Animal {
    var name: String

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

    func makeSound() {
        // Põhiväljund, mida saab alamsklastes üle kirjutada
    }
}

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

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

// Polümorfism
let animals: [Animal] = [Dog(name: "Buddy"), Cat(name: "Whiskers")]
for animal in animals {
    animal.makeSound() // Kutsub iga objekti jaoks välja sobiva makeSound() meetodi
}