Objektorienteret programmering (OOP)
Programmering B · HTX · B-niveau · Sprog og syntaks
💻 OOP — Objektorienteret programmering
OOP organiserer kode som objekter med data (attributter) og adfærd (metoder).
4 grundprincipper:
1. Indkapsling (Encapsulation): data og metoder i én klasse.
```python
class Bankkonto:
def __init__(self, ejer: str, saldo: float = 0):
self.ejer = ejer
self.__saldo = saldo # privat (__ prefix)
def indsæt(self, beløb: float):
if beløb > 0:
self.__saldo += beløb
def get_saldo(self) -> float:
return self.__saldo
```
2. Arv (Inheritance): en klasse arver fra en anden.
```python
class SpareKonto(Bankkonto):
def __init__(self, ejer: str, rente: float = 0.02):
super().__init__(ejer) # kald forældreklasse
self.rente = rente
def tilskrive_rente(self):
self.indsæt(self.get_saldo() * self.rente)
```
3. Polymorfi: samme metode-navn, forskellig adfærd.
```python
class Form:
def areal(self): pass
class Cirkel(Form):
def areal(self): return 3.14 self.radius*2
class Rektangel(Form):
def areal(self): return self.bredde * self.højde
```
4. Abstraktion: skjul kompleksitet, vis kun relevant interface.
Læringsmål
- Designe klasser med attributter og metoder
- Implementere arv og method overriding
- Anvende indkapsling med private attributter
- Skabe polymorfe klasse-hierarkier
Sådan kan du arbejde med emnet
- Skriv en simpel klasse, fx "Bil", med attributter og en metode
- Forklar begreberne klasse, objekt og metode med dine egne ord
- Diskutér en fordel ved at bruge OOP i et større program i forhold til kun at bruge funktioner
Træningsforslag
- Modellér et bibliotekssystem med klasser: Bog, Udlåner, Bibliotek
- Implementer arv: Dyr → Hund, Kat med polymorfe metoder
- Sammenlign din OOP-løsning med en funktionel løsning af samme problem
Øv dette emne med AI — quizzer, forklaringer og feedback tilpasset dit niveau.
Prøv Fagportalen gratis