🔍 OOP põhimõisted / Основные концепции ООП
Python toetab mitut programmeerimisstiili, kuid objektorienteeritud paradigma on üks olulisemaid. OOP keskendub andmete ja käitumise organiseerimisele objektide kaudu.
Python поддерживает несколько стилей программирования, но объектно-ориентированная парадигма является одной из ключевых. ООП фокусируется на организации данных и поведения через объекты.
📌 OOP eelised / Преимущества ООП
| Eesti | Русский |
|---|---|
| Parem koodi korrastatus | Лучшая организация кода |
| Lihtsam vigade otsimine | Проще находить ошибки |
| Koodi uuesti kasutamine | Повторное использование кода |
| Lihtsam koostöö teistega | Упрощает командную работу |
🧩 OOP põhikomponendid / Основные компоненты ООП
1. Klassid ja objektid / Классы и объекты
class Inimene: # Klassi definitsioon / Определение класса
def __init__(self, nimi, vanus):
self.nimi = nimi # Atribuut / Атрибут
self.vanus = vanus
def tutvusta(self): # Meetod / Метод
print(f"Tere! Mina olen {self.nimi}, {self.vanus} aastat vana.")
# Objekti loomine / Создание объекта
isik1 = Inimene("Mari", 25)
isik1.tutvusta() # Tere! Mina olen Mari, 25 aastat vana.
2. Pärimine (Inheritance) / Наследование
class Opilane(Inimene): # Pärib Inimene klassist / Наследует от класса Inimene
def __init__(self, nimi, vanus, klass):
super().__init__(nimi, vanus) # Kutsub ülemklassi meetodi / Вызывает метод родительского класса
self.klass = klass
def tutvusta(self): # Meetodi ülekirjutus / Переопределение метода
print(f"Olen {self.klass}. klassi õpilane {self.nimi}")
opilane1 = Opilane("Jaan", 12, "6")
opilane1.tutvusta() # Olen 6. klassi õpilane Jaan
3. Kapseldamine (Encapsulation) / Инкапсуляция
class Konto:
def __init__(self):
self.__saldo = 0 # Privaatne muutuja / Приватная переменная
def deposiit(self, summa):
if summa > 0:
self.__saldo += summa
def get_saldo(self): # Getter-meetod / Геттер-метод
return self.__saldo
konto = Konto()
konto.deposiit(100)
print(konto.get_saldo()) # 100
4. Polümorfism (Polymorphism) / Полиморфизм
class Loom:
def haal(self):
pass
class Kass(Loom):
def haal(self):
return "Mjau!"
class Koer(Loom):
def haal(self):
return "Auh!"
loomad = [Kass(), Koer()]
for loom in loomad:
print(loom.haal()) # Mjau! Auh!
💡 Näide: Lihtne rakendus / Пример: Простое приложение
class Toode:
def __init__(self, nimi, hind):
self.nimi = nimi
self.hind = hind
def soodustus(self, protsent):
return self.hind * (1 - protsent/100)
class Ostukorv:
def __init__(self):
self.tooted = []
def lisa_toode(self, toode):
self.tooted.append(toode)
def kogu_summa(self):
return sum(toode.hind for toode in self.tooted)
# Kasutamine / Использование
kast = Toode("Piim", 1.5)
leib = Toode("Leib", 2.0)
korv = Ostukorv()
korv.lisa_toode(kast)
korv.lisa_toode(leib)
print(f"Kogusumma: {korv.kogu_summa()}€") # Kogusumma: 3.5€
📚 OOP tähtsamad mõisted / Важные концепции ООП
| Eesti | Русский | Selgitus / Пояснение |
|---|---|---|
| Klass | Класс | Objektide mall / Шаблон объектов |
| Objekt | Объект | Klassi eksemplar / Экземпляр класса |
| Pärimine | Наследование | Ühe klassi omaduste kasutamine teises / Использование свойств одного класса в другом |
| Kapseldamine | Инкапсуляция | Andmete varjamine ja kontrollitud juurdepääs / Сокрытие данных и контролируемый доступ |
| Polümorfism | Полиморфизм | Sama meetodi erinev käitumine / Разное поведение одного метода |
🚀 Edasijõudnutele / Для продвинутых
python
Copy
Download
@classmethod # Klassimeetod / Метод класса
def loo_anonüümne(cls):
return cls("Anonüümne", 0)
@staticmethod # Staatiline meetod / Статический метод
def täiskasvanu(vanus):
return vanus >= 18
Kokkuvõte / Итог:
- OOP võimaldab luua paremini korraldatud ja hooldatavat koodi
- Pythonis on OOP rakendamine lihtne ja intuitiivne
- Põhikontseptsioonid: klassid, objektid, pärimine, kapseldamine, polümorfism
ООП позволяет создавать лучше организованный и поддерживаемый код
В Python реализация ООП проста и интуитивна
Основные концепции: классы, объекты, наследование, инкапсуляция, полиморфизм

