Sobes.tech
Intern

Čo je objektovo orientované programovanie (OOP)?

sobes.tech AI

Odpoveď od AI

Objektovo orientované programovanie (OOP) je paradigmat programovania založený na koncepte "objektov", ktoré obsahujú údaje (polia, atribúty) a kód (metódy, procedúry).

Hlavné princípy OOP:

  • Zapuzdrovanie: Zoskupenie údajov a metód, ktoré s nimi pracujú, do jednej štruktúry — objektu. Skrytie vnútornej implementácie objektu.
  • Dedičnosť: Možnosť vytvoriť novú triedu na základe existujúcej, zdediac jej vlastnosti a metódy. Umožňuje opätovné použitie kódu a tvorbu hierarchií tried.
  • Polymorfizmus: Možnosť spracovávať objekty rôznych tried rovnakým spôsobom. Metódy s rovnakým názvom môžu vykonávať rôzne akcie v závislosti od typu objektu.
  • Abstrakcia: Vyzdvihnutie podstatných vlastností objektu, odloženie nedôležitých detailov. Vytváranie všeobecných, abstraktných typov údajov.

Príklad v Swift:

class Animal {
    var name: String

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

    func makeSound() {
        // Základná implementácia, môže byť prepísaná v podtriedach
    }
}

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

class Cat: Animal {
    override func makeSound() {
        print("Mňau!")
    }
}

// Polymorfizmus
let animals: [Animal] = [Dog(name: "Buddy"), Cat(name: "Whiskers")]
for animal in animals {
    animal.makeSound() // Volá sa príslušná metóda makeSound() pre každý objekt
}