Sobes.tech
Intern

Mi az az objektumorientált programozás (OOP)?

sobes.tech MI

Válasz az MI-től

A objektumorientált programozás (OOP) egy olyan programozási paradigma, amely az "objektumok" fogalmán alapul, amelyek adatokból (mezők, attribútumok) és kódból (metódusok, eljárások) állnak.

Az OOP alapelvei:

  • Encapsuláció: Az adatok és az azokkal dolgozó metódusok egyetlen struktúrába — az objektumba — való összegyűjtése. Az objektum belső megvalósításának elrejtése.
  • Öröklődés: Lehetőség új osztály létrehozására egy meglévő alapján, örökölve annak tulajdonságait és metódusait. Ez lehetővé teszi a kód újrahasznosítását és osztályhierarchiák létrehozását.
  • Polimorfizmus: Az a képesség, hogy különböző osztályok objektumait ugyanúgy kezeljük. A ugyanazzal a névvel rendelkező metódusok különböző műveleteket hajthatnak végre az objektum típusától függően.
  • Absztrakció: A lényeges jellemzők kiemelése az objektumról, a nem lényeges részletek figyelmen kívül hagyása. Általános, absztrakt adattípusok létrehozása.

Példa Swift-ben:

class Animal {
    var name: String

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

    func makeSound() {
        // Alapértelmezett megvalósítás, felülírható alosztályokban
    }
}

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

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

// Polimorfizmus
let animals: [Animal] = [Dog(name: "Buddy"), Cat(name: "Whiskers")]
for animal in animals {
    animal.makeSound() // A megfelelő makeSound() metódus hívódik meg minden objektumnál
}