Indkapsling
Indkapsling er samlingen af data og metoder i en enkelt enhed, kaldet et objekt. Objekter kan oprettes, ødelægges og sendes rundt som enhver anden datatype. De eneste operationer, der kan udføres på et objekt, er dem, der er defineret af dets metoder. Dette sikrer, at objekter bruges på en ensartet måde.
Abstraktion
Abstraktion er handlingen med at skjule implementeringsdetaljerne for et objekt for brugeren. Brugere behøver kun at kende et objekts grænseflade, ikke hvordan det implementeres. Dette gør det muligt at ændre eller erstatte objekter uden at påvirke den kode, der bruger dem.
Arv
Arv er et nyt objekts evne til at arve egenskaberne og metoderne for et eksisterende objekt. Dette gør det muligt at oprette objekter, der er varianter af eksisterende objekter. For eksempel kunne der skabes en ny bilklasse, der arver motor og hjul fra bilklassen.
Polymorfi
Polymorfi er et objekts evne til at reagere på forskellige budskaber på forskellige måder. Dette gør det muligt at bruge objekter på en række forskellige måder. For eksempel kunne et bilobjekt reagere på beskeden "kør" ved at bevæge sig fremad, og på beskeden "stop" ved at stoppe.
Objektorienteret programmering giver en række fordele i forhold til traditionel procedureprogrammering, herunder:
Øget kodegenbrug :Objekter kan genbruges i forskellige programmer, hvilket reducerer mængden af kode, der skal skrives.
Forbedret vedligeholdelse :Objekter kan nemt ændres og udvides uden at påvirke resten af programmet.
Forbedret læsbarhed :Objekter gør koden mere læsbar og lettere at forstå.
Større fleksibilitet :Objekter kan bruges til at skabe komplekse softwaresystemer, der let kan udvides og skaleres.
Objektorienteret programmering er et kraftfuldt programmeringsparadigme, der bruges i en lang række applikationer, herunder operativsystemer, softwareudviklingsværktøjer og spil.