L05 Flashcards
Opisati pojmove: enkapsulacija, apstrakcija, nasleđivanje, polimorfizam
Enkapsulacija je skrivanje podataka klase, tako da objekti ne mogu da interaguju međusobno. Apstrakcija je proširenje enkaspulacije, sakriva oredjene osobine i metode od ostatka koda u programu. Nasleđivanje je način proširenja mogućnosti postojecih klasa tako da se ne gomila i ne ponavlja isti deo koda. Polimorfizam koncept koji omogucava da jednom napisani kod daje razlicite rezultate u zavisnosti od ulaza.
Šta je klasa, a šta je objekat?
Klasa je Šablon za kreiranje objekata. Objekat je instanca klase - složen tip podataka, koji sadrzi podatke (primitive i ne-primitive) i ima određene metode.
Šta je imenski prostor u Python jeziku?
Imenski prostor je mapiranje imena na objekte, na primer ugrađena imena, globalna imena (unutar modula) i lokalna imena (unutar funkcije).
Šta je opseg imenskog prostora? Kako se određuje, a kako koristi?
Opseg predstavlja deo koda u Python jeziku u kome je imenski prostor direktno dostupan. Iako se opsezi statički određuju, koriste se dinamički. U bilo kom vremenu tokom izvršenja, postoje tri ili četiri ugnježdena opsega čiji su imenski prostori direktno dostupni: unutrašnji, spoljašnji, okružujućih funkcija i globalnih imena.
Navesti opsege imenskog prostora.
Unutrašnji opseg, koji se prvi pretražuje i sadrži lokalna imena. Opseg okružujućih funkcija, koji se pretražuje počevši za najbližom okružujućom funkcijom, i sadrži ne-lokalna, ali i ne-globalna imena. Opseg globalnih imena modula koji se pretražuje pretposlednji. Spoljašnji opseg koji sadrži imenski prostori sa ugrađenim imenima i kojie se pretražuje poslednji.
Kako se definiše konstruktor u Python-u? Kako destruktor?
def \_\_init\_\_()self: # body
def \_\_del\_\_(self): # body
Šta je to prazna klasa? Kada se koristi?
To je klasa koja ne sadrži parametre ili atribute. Njoj naknadno možemo da dodamo atribute. class Primer: pass