self
Referansen til «dette objektet» inne i en metode — hvilket objekt metoden jobber på.
Slik kan du tenke om det
- self = dette objektet her Les self inne i en metode som «dette objektet». self.x er objektets egen x. Når ball1.flytt() kjøres er self = ball1; når ball2.flytt() kjøres er self = ball2.
Vanlige feil
- Du tror self er et magisk ord du kan droppe `self` er ikke et meningsløst nøkkelord — det er objektet metoden ble kalt på. Glemmer du `self.` foran en egenskap, lager du i stedet en lokal variabel som forsvinner når metoden er ferdig, og objektet endres ikke. Da står ballen stille selv om koden «ser riktig ut».
Øv på dette
- Utvide: gi ballen radius og få den til å sprette
- Diskuter: hva gjør self?
- Sjekk: hva peker self på?
- Feilsøk: flytt() i Ball
- Rektangelet, del 2: flytt regningen inn
- Begrepssjekk: Metoder: når objektet skal gjøre noe
- Kodeløype: metoder
- Prøvebank: Skriv metoden: svarer eller endrer (nivå 1)
- Kodeløype: metoder med regler
- Drill: Klasser og metoder — øvet
- Drill: Klasser og metoder — utfordring
- Kodeløype: Ekspedisjonen med klasser
- Kodeløype: Ballene II — metoder
- Kodeløype: Ballene II+ — metoder med parametre
- Kodeløype: Ballene II+ — fysikk
- Drill: OOP-begreper II
- Lage: to spillere som slåss