Begreper & referanser
Alle nøkkelbegrepene, formlene og referansene fra Objektorientering: klasser og objekter (TDT4109), samlet på én side. Bruk denne som oppslag når du leser, øver flashcards eller tar quiz.
Begreper
Sentrale begreper fra kapittelet med korte definisjoner.
En oppskrift eller mal som beskriver hvilke data (attributter) og hvilken oppførsel (metoder) en type objekt skal ha. Defineres i Python med nøkkelordet class, og navnet skrives med stor forbokstav.
En konkret instans laget fra en klasse. Hvert objekt har sitt eget sett med attributtverdier og lages ved å kalle klassenavnet som en funksjon.
En dataverdi som hører til et objekt, typisk satt i _init_ med self.navn = verdi. Hvert objekt har sine egne attributter uavhengig av andre objekter av samme klasse.
En funksjon som hører til en klasse og opererer på objektets egne data. Tar self som første parameter og har dermed tilgang til objektets attributter.
Den spesielle metoden _init_ som fungerer som konstruktør: den kjøres automatisk når et nytt objekt lages, og gir objektet startverdiene sine.
Den første parameteren i hver metode, en referanse til akkurat det objektet metoden kalles på. Python fyller den inn automatisk; du sender den aldri inn selv.
Kodesnutter
Kodesnutter fra kapittelet, vist literal.
En klasse med konstruktør og metoder
class Konto: def __init__(self, eier, saldo): self.eier = eier self.saldo = saldo def sett_inn(self, belop): self.saldo = self.saldo + belop def ta_ut(self, belop): if belop > self.saldo: print("Ikke nok penger paa konto") else: self.saldo = self.saldo - belop # Lag to uavhengige objekter fra samme klassekari = Konto("Kari", 1000)ola = Konto("Ola", 50) kari.sett_inn(500) # kari.saldo blir 1500ola.ta_ut(200) # skriver "Ikke nok penger paa konto"print(kari.saldo) # 1500print(ola.saldo) # 50, uendretinit setter startverdiene via self. Hver av kari og ola har sin egen saldo. Metoden ta_ut vokter dataene: den nekter uttak som overstiger saldoen, så objektet aldri havner i en ulovlig tilstand.
Læringsmål
Hva du skal kunne etter å ha lest kapittelet.
- 01Forklare forskjellen på en klasse og et objekt, og at et objekt er en instans laget fra en klasse
- 02Skrive en klasse med _init_ som setter attributter via self, og lage objekter fra den
- 03Skrive og kalle metoder, og forklare hvordan self viser til objektet metoden kalles på
- 04Begrunne hvorfor objektorientering samler data og oppførsel, og bruke riktige navnekonvensjoner for klasser, metoder og _init_