You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
62 <strong>Python</strong> - objektni jezik7.3.3 Varijable speci£ne za klasuKada naredba u tijelu klase (ili u metodi unutar tijela) koristi identikator koji po£inje s dvije podcrte(ali ne zavr²ava podcrtama) - __ident, <strong>Python</strong> compiler implicitno mijenja identikator u _classname__ident,gdje je classname ime klase. Ovo dopu²ta klasi kori²tenje privatnih imena za atribute, metode, globalnevarijable i druge svrhe, bez rizika njihovog slu£ajnog dupliciranja negdje drugdje. Dogovorno, sviidentikatori koji po£inju jednom podcrtom takožer se namijenjeni kao privatni, za doseg koji ih povezuje,bez obzira je li doseg unutar klase ili nije. <strong>Python</strong> compiler ne prisiljava dogovore oko privatnostivarijabli i metoda, to je ostavljeno programerima u <strong>Python</strong>u.7.3.4 Dokumentacijski stringAko je prva naredba u tijelu klase literal niza znakova (string), onda compiler povezuje taj niz znakovakao atribut dokumentacijskog stringa za tu klasu. Ovaj se atribut zove __doc__ te je poznat kaodokumentiranje klase. Ima isto svojstvo kao ve¢ opisan po£etni komentar ili pomo¢ (engl. help) udeniciji funkcije.7.4 Instanca klaseNeka je zadana klasa ZiroRacun ovako:class ZiroRacun:"Jednostavna klasa"tip_racuna = "Ziro"def _ _init_ _(self,ime,racun):"Inicijalizacije nove klase"self.osoba = nameself.novac = racundef polog(self,iznos):"Dodaje iznosu na ra£unu"self.novac = self.novac + iznosdef povuci(self,iznos):"Oduzima od iznosa na ra£unu"self.novac = self.novac - iznosdef provjeri(self):"Vraca iznos na racunu"return self.novacInstance klase stvaraju se pozivom class objekta. Tada se istodobno stvara nova instanca i poziva__init__() metoda te klase (ako je u njoj denirana). Na primjer:# Neka se klasa zove ZiroRacuna = ZiroRacun("Mario", 1000.00)# Stvara instancu 'a' i poziva ZiroRacun.__init__(a,"Mario", 1000.00)b = ZiroRacun("Bill", 100000000000L)# Stvara instancu 'b' i poziva ZiroRacun.__init__(b,"Bill", 100000000000L)Jednom na£injeni, atributi i metode novo nastale instance dohvatljivi su kori²tenjem 'to£ka' (.)operatora:a.polog(100.00)b.povuci(sys.maxint)i = a.imeprint a.tip_racuna# Poziva ZiroRacun.deposit(a,100.00)# Poziva ZiroRacun.povuci(b,sys.maxint)# Dohvaca a.ime# Ispisuje tip_racuna