Modul 18 – Klasser og OOP
Computerspace · FGU · Programmering i Python
🏗️ Klasser – skabeloner til objekter
```python
class Elev:
def __init__(self, navn, klasse_navn):
self.navn = navn
self.klasse_navn = klasse_navn
self.karakterer = []
def tilfoej(self, karakter):
self.karakterer.append(karakter)
def gennemsnit(self):
if not self.karakterer: return 0
return sum(self.karakterer) / len(self.karakterer)
def __str__(self):
return f"{self.navn} ({self.klasse_navn})"
anna = Elev("Anna", "2A")
anna.tilfoej(10); anna.tilfoej(12); anna.tilfoej(7)
print(anna)
print(f"Snit: {anna.gennemsnit():.1f}")```
---
🧬 Nedarvning
```python
class Person:
def __init__(self, navn, alder):
self.navn = navn; self.alder = alder
class Laerer(Person):
def __init__(self, navn, alder, fag):
super().__init__(navn, alder)
self.fag = fag
l = Laerer("Hansen", 45, "Python")
print(f"{l.navn} underviser i {l.fag}")```
---
🎓 Læringsmål for Modul 18
Læringsmål
- Forklare hvad OOP er
- Oprette klasser med __init__ og self
- Definere og kalde metoder
- Implementere __str__
- Bruge nedarvning med super()
Sådan kan du arbejde med emnet
- Forskellen på klasse og objekt?
- Hvad gør __init__ og self?
- Hvad er __str__?
- Hvad er nedarvning?
⚠️ Typiske fejl
- Glemmer self – altid første parameter i metoder
- __init__ vs __str__ – __init__ ved oprettelse, __str__ ved print
---
💡 Næste skridt: Modul 19 – Biblioteker
Øv dette emne med AI — quizzer, forklaringer og feedback tilpasset dit niveau.
Prøv Fagportalen gratis