Skratka OOP znamená “Object-Oriented Programming”, čo v preklade znamená „objektovo orientované programovanie“. Ide o programovací prístup, ktorý sa zameriava na organizáciu kódu do objektov, ktoré obsahujú údaje (atribúty) a funkcie (metódy).
Hlavné princípy OOP:
1.Encapsulation (Zapuzdrenie):
•Skrytie vnútorných údajov a funkcií objektu, aby boli prístupné iba cez verejné metódy.
•Zabezpečuje, že údaje sú chránené pred neautorizovaným prístupom.
Príklad:
class Car:
def __init__(self, make, model):
self.__make = make # private attribute
self.__model = model
def get_info(self):
return f”{self.__make} {self.__model}“
my_car = Car(“Toyota”, “Corolla”)
print(my_car.get_info()) # Prístup k údajom cez verejnú metódu
2.Inheritance (Dedičnosť):
•Možnosť vytvoriť nové triedy (subtriedy) odvodené od existujúcich tried (rodičovských tried).
•Umožňuje opätovné využitie kódu a rozširovanie funkcionality.
Príklad:
class Vehicle:
def __init__(self, brand):
self.brand = brand
class Car(Vehicle):
def __init__(self, brand, model):
super().__init__(brand)
self.model = model
3.Polymorphism (Polymorfizmus):
•Schopnosť objektov rôznych tried reagovať na rovnaké metódy odlišne.
Príklad:
class Animal:
def sound(self):
pass
class Dog(Animal):
def sound(self):
return “Woof”
class Cat(Animal):
def sound(self):
return “Meow”
animals = [Dog(), Cat()]
for animal in animals:
print(animal.sound())
4.Abstraction (Abstrakcia):
•Skrytie zložitosti implementácie a zobrazenie iba podstatných detailov.
•Napríklad abstraktné triedy v Pythone alebo rozhrania v Jave.
Výhody OOP:
1.Modularita: Kód je organizovaný do objektov, čo zjednodušuje jeho pochopenie a údržbu.
2.Opätovná použiteľnosť: Vďaka dedičnosti a znovu použiteľným objektom.
3.Flexibilita: Polymorfizmus umožňuje jednoduchú rozšíriteľnosť.
4.Bezpečnosť: Zapuzdrenie chráni citlivé údaje.
Príklady jazykov s podporou OOP:
•Python
•Java
•C++
•C#
•Ruby
•JavaScript
OOP je základný pilier moderného vývoja softvéru, ktorý umožňuje písať efektívny, udržiavateľný a prehľadný kód.