Sobes.tech
Intern

Czym jest programowanie obiektowe (OOP)?

sobes.tech AI

Odpowiedź od AI

Programowanie obiektowe (OOP) to paradygmat programowania oparty na koncepcji "obiektów", które zawierają dane (pola, atrybuty) i kod (metody, procedury).

Podstawowe zasady OOP:

  • Enkapsulacja: Grupowanie danych i metod operujących na nich w jedną strukturę — obiekt. Ukrywanie wewnętrznej implementacji obiektu.
  • Dziedziczenie: Możliwość tworzenia nowej klasy na podstawie istniejącej, dziedzicząc jej właściwości i metody. Umożliwia ponowne użycie kodu i tworzenie hierarchii klas.
  • Polimorfizm: Możliwość obsługi obiektów różnych klas w ten sam sposób. Metody o tej samej nazwie mogą wykonywać różne działania w zależności od typu obiektu.
  • Abstrakcja: Wydobywanie istotnych cech obiektu, odrzucając nieistotne szczegóły. Tworzenie ogólnych, abstrakcyjnych typów danych.

Przykład w Swift:

class Animal {
    var name: String

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

    func makeSound() {
        // Podstawowa implementacja, może być nadpisana w podklasach
    }
}

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

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

// Polimorfizm
let animals: [Animal] = [Dog(name: "Buddy"), Cat(name: "Whiskers")]
for animal in animals {
    animal.makeSound() // Wywołuje odpowiednią metodę makeSound() dla każdego obiektu
}