Objektorienteret programmering (OOP) er en programmeringsparadigme, der bruger "objekter" - datastrukturer bestående af datafelter og metoder sammen med deres interaktioner - for at designe applikationer og computerteknologier. OOP fokuserer på data snarere end processer, med programmer struktureret omkring objekter snarere end logik og procedurer. Nogle af de mest populære OOP-sprog inkluderer Java, C# , Python og Ruby.
De forskellige sprog behandler dog OOP lidt forskelligt, vi har prøvet at beskrive nogle af dem under de forskellige Roadmaps - C# Roadmap, Python Roadmap, JavaScript Roadmap
Vi kan generelt forklare og illustrer vores klasser fra OOP i et Klasse Diagram
Der er flere store emner eller koncepter under OOP. Der er en liste med nogle af dem her
Klasser er en skabelon for at lave objekter - vi kan altså bruge klasser til at lave flere objekter.
Som vi kan se indeholder en klasse nogle standart egenskaber (Properties) og Methods (Metoder også kaldet funktioner)
‣
Objekter i programmering er instanser af klasser. Det vil sige, at de er konkrete eksempler på de skabeloner, som klasserne definerer. Hver instans eller objekt kan have forskellige værdier for de attributter, der er defineret i klassen. Objekter har også adgang til metoder (funktioner), der er defineret i deres klasse, og kan interagere med andre objekter.
‣
Abstraktion handler om at identificere og isolere de væsentlige egenskaber og adfærd af et objekt, og ignorere de irrelevante detaljer. Dette gøres ved at oprette klasser, der fungerer som skabeloner til at oprette objekter. Ved at bruge abstraktion kan udviklere fokusere på objekternes funktionalitet og samspil uden at skulle bekymre sig om interne implementeringsdetaljer.
‣
Indkapsling handler om at skjule interne detaljer og implementeringen af et objekt og kun give adgang til de relevante metoder og egenskaber. Dette opnås ved at definere klasser med forskellige adgangsniveauer (f.eks. public, private, protected), hvor private medlemmer kun er tilgængelige inden for samme klasse og offentlige medlemmer kan tilgås fra andre klasser. Indkapsling hjælper med at opretholde objekters integritet og sikkerhed og gør det muligt at ændre den interne implementering uden at påvirke andre dele af koden.
‣