CMD + K

Kapittel 14Begreper & formler · Objektorientering: klasser og objekter (TDT4109)
Referanseside · Kapittel 14

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.

Øv med flashcards7 kort fra dette kapittelet

Begreper

Sentrale begreper fra kapittelet med korte definisjoner.

01Klasse

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.

02Objekt

En konkret instans laget fra en klasse. Hvert objekt har sitt eget sett med attributtverdier og lages ved å kalle klassenavnet som en funksjon.

03Attributt

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.

04Metode

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.

05init

Den spesielle metoden _init_ som fungerer som konstruktør: den kjøres automatisk når et nytt objekt lages, og gir objektet startverdiene sine.

06self

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.

klasse

En klasse med konstruktør og metoder

python
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, uendret

init 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.

  1. 01Forklare forskjellen på en klasse og et objekt, og at et objekt er en instans laget fra en klasse
  2. 02Skrive en klasse med _init_ som setter attributter via self, og lage objekter fra den
  3. 03Skrive og kalle metoder, og forklare hvordan self viser til objektet metoden kalles på
  4. 04Begrunne hvorfor objektorientering samler data og oppførsel, og bruke riktige navnekonvensjoner for klasser, metoder og _init_