Kursusindhold
Java OOP
Java OOP
Hvad er OOP?
OOP
Endelig er vi begyndt at studere Objektorienteret Programmering (OOP). I dag understøtter næsten alle moderne (og endda mindre moderne) programmeringssprog OOP i et vist omfang.
Men hvad er OOP?
OOP er et programmeringsparadigme, hvor vi arbejder med objekter. Vi bruger objekter fra klasser, klassens metoder og deres egenskaber til at opbygge applikationer.
Programmeringsparadigmer
Et programmeringsparadigme er, enkelt sagt, en tilgang til programmering. Der findes flere forskellige programmeringsparadigmer. Lad os se på de mest grundlæggende:
Proceduremæssig – Dette programmeringsparadigme indebærer organisering af kode i procedurer eller funktioner for at fremme modularitet og genanvendelighed. Det opfordrer til brug af funktioner eller metoder til at indkapsle funktionalitet, hvilket gør koden mere struktureret og lettere at vedligeholde. Sprog som Python, Pascal og C understøtter proceduremæssig programmering sammen med andre paradigmer;
Funktionel – Funktionel programmering er et paradigme, der lægger vægt på at behandle beregning som evaluering af matematiske funktioner. Det fremmer uforanderlighed og brugen af rene funktioner, der ikke har bivirkninger. Funktioner er førsteklasses borgere, og koden organiseres ofte i mindre, genanvendelige funktioner. Det øger læsbarhed, udvidelighed og gør det lettere at skrive kode. Sprog som Haskell, Lisp og JavaScript understøtter funktionel programmering;
OOP – som nævnt tidligere, tillader dette paradigme os at arbejde med objekter, klassens metoder og egenskaber. Ved at bruge disse bygger vi logikken i applikationen/hjemmesiden/spillet. Denne type kode er mest udvidelig og læsbar. Nogle gange kan det være mere udfordrende at skrive kode i dette paradigme end i funktionel programmering, men det betaler sig, da det bliver meget lettere at arbejde med sådan kode i fremtiden. Næsten alle populære programmeringssprog bruger nu OOP.
Du undrer dig måske over, hvilke specifikke objekter fra klassen vi arbejder med. Lad os se nærmere på dette med et eksempel:
På det første billede kan vi se, hvad klassens egenskaber, metoder, konstruktører og overskrevne metoder er. Du har lært alt dette i de tidligere kurser, så vi vil ikke dvæle ved det. Det er værd at bemærke, at disse egenskaber defineres inden for selve klassen og derefter bruges, når der oprettes instanser i andre klasser;
På det andet billede kan du se, hvordan vi opretter klassens objekter gennem en konstruktør, hvor vi definerer denne klasses egenskaber. Det er netop disse objekter, vi arbejder med i OOP-paradigmet. Disse objekter har deres egne egenskaber og metoder, som vi kan kalde.
Dette kan virke ret simpelt, men det er faktisk essensen af OOP-programmering. Det er dog også vigtigt at tage højde for principperne for OOP-programmering. Vi vil diskutere et af dem, "Arv", i næste kapitel.
1. Hvilket programmeringsparadigme anses for at være det mest skalerbare?
2. Hvad er den primære forskel mellem procedureorienterede og funktionelle programmeringsparadigmer?
Tak for dine kommentarer!