Predmet "Objektno orijentirano programiranje u Pythonu" uvodi značajke objektno orijentiranog programiranja općenito i njegovu implementaciju u jeziku Python. Zahtjev je dopunjen primjerima praktičnih rješenja za rad. Sate su slobodno dostupne na https://younglinux.info/oopython/course. Kratke video verzije lekcija: https://www.youtube.com/playlist?list=PLx40Tc4pO423OvwMLI7VNwXqoSOnWF_53
Tečaj pretpostavlja prethodno znanje o strukturiranom programiranju u Pythonu, s kojim se možete upoznati u prvom tečaju "Python. Uvod u programiranje": https://younglinux.info/python/course.
Tečaj uključuje 15 lekcija:
1. Što je objektno orijentirano programiranje
2. Stvaranje klasa i objekata
3. Konstruktor klase - metoda __init __ ()
4. Nasljeđivanje
5. Polimorfizam
6. Inkapsulacija
7. Sastav
8. Preopterećenje operatora
9. Statičke metode
10. Iteratori
11. Generatori
12. Moduli i paketi
13. Dokumentiranje koda
14. Uzorak objektno orijentiranog Python programa
15. Rezultati tečaja "Objektno orijentirano programiranje u Pythonu"
Ključni pojmovi u objektno orijentiranom programiranju su "klasa" i "objekt". Objekti su izvedeni iz njihovih klasa. U programskom jeziku Python takvi se objekti nazivaju instance.
Nasljeđivanje, polimorfizam i enkapsulacija osnovni su principi, stupovi objektno orijentiranog programiranja. Nasljeđivanje podrazumijeva sposobnost definiranja podređenih klasa, polimorfizam je drugačiji način implementacije iste stvari, enkapsulacija skriva i kombinira podatke i metode. Kompozicija se rjeđe provodi, znači sposobnost stvaranja objekata čiji su sastavni dijelovi objekti drugih klasa.
Konstruktor u OOP -u je metoda klase koja se automatski poziva kada se iz te klase stvori objekt. Istodobno, konstruktor upućuje na metode preopterećenja operatora. Nazive takvih metoda regulira sam programski jezik, a do njihovog poziva dolazi automatski kada objekt sudjeluje u određenim operacijama. Na primjer, dodavanje, izdvajanje elementa itd.
Iteratori su posebna vrsta objekata, sličnih zbirkama poput popisa, ali koji ne pohranjuju cijeli skup elemenata, već generiraju samo jedan svaki put kada mu se pristupi. Python ima ugrađene klase tipova podataka od kojih se stvaraju iteratori. Međutim, možete definirati i vlastite klase, čije će instance imati mogućnosti ponavljanja.