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
}