Sammenlign struktureret og objektorienteret programmering

Fuldført

Struktureret programmering og objektorienteret programmering (OOP) er to forskellige tilgange til softwareudvikling, der hver især har deres eget sæt principper og metoder.

  • Struktureret programmering er baseret på en top-down tilgang, hvor programmet er opdelt i mindre, håndterbare funktioner eller procedurer. Denne fremgangsmåde lægger vægt på et klart og logisk flow af kontrol ved hjælp af løkker, betingelser og subrutines.
  • Objektorienteret programmering er baseret på begrebet objekter, som indkapsler både data og funktionsmåde. Denne fremgangsmåde fremmer en modulopbygget kodestruktur, der kan genbruges, ved at organisere softwaredesign omkring objekter, der interagerer med hinanden.

Selvom struktureret programmering fokuserer på rækkefølgen af handlinger, der skal udføres, lægger objektorienteret programmering vægt på de objekter, der er involveret i handlingerne.

Struktureret programmering

Struktureret programmering er en tilgang til softwareudvikling, der opstod som følge af behovet for at forbedre kodeklarhed, kodekvalitet og udviklingstid. Den er afhængig af brugen af kontrolstrukturer som f.eks. løkker, betingede og subrutiner for at skabe en klar og logisk strøm af kontrol. I struktureret programmering er programmet opdelt i mindre, håndterbare funktioner eller procedurer, der hver især er designet til at udføre en bestemt opgave. Denne modulære tilgang giver mulighed for genbrug af kode og nemmere fejlfinding, da hver funktion kan testes uafhængigt af hinanden. Men i takt med at kompleksiteten af softwaren øges, kan det blive en udfordring at administrere interaktionerne mellem disse funktioner.

Struktureret programmering er velegnet til små og mellemstore softwareprojekter, hvor fokus er på den logiske strøm af kontrol. Det er effektivt for procedureopgaver, der kan opdeles i en række trin. Men i takt med at størrelsen og kompleksiteten af softwaren vokser, kan struktureret programmering blive besværlig og vanskelig at vedligeholde. I store programmer kan den lineære og top-down-tilgang til struktureret programmering føre til et sammenfiltret web af indbyrdes afhængige funktioner, hvilket gør det svært at forstå og ændre kodebasen.

Objektorienteret programmering

Objektorienteret programmering er en tilgang til softwareudvikling, der fokuserer på begrebet objekter, som indkapsler både data (attributter) og funktionsmåde (metoder). I OOP er softwaredesign baseret på klasser, der fungerer som kursusplaner til oprettelse af objekter. Hvert objekt repræsenterer et objekt i den virkelige verden og kan interagere med andre objekter via veldefinerede grænseflader.

Objektorienteret programmering er velegnet til store, komplekse softwaresystemer, da det tilskynder til en modulopbygget og vedligeholdbar kodestruktur.

Relationen mellem klasser og objekter undersøges i resten af dette modul.

Overgang fra struktureret programmering til objektorienteret programmering

Det kan være en udfordring at skifte fra struktureret programmering til objektorienteret programmering, da det kræver et skift i tankegangen og en anden tilgang til softwaredesign. Fordelene ved OOP gør det dog til en værdifuld tilgang til programmering, der resulterer i robuste og vedligeholdbare softwaresystemer.

Ord, der bruges til at beskrive objektorienteret programmering

Objektorienteret programmering introducerer terminologi, der kan være ny for dig. Du behøver ikke at forstå disse vilkår fuldt ud for at begynde at bruge OOP, men det er nyttigt at genkende disse vilkår, når du får mere at vide om OOP.

Følgende begreber bruges ofte, når du beskriver begreberne og fordelene ved OOP:

  • Abstraction: Abstraktion giver dig mulighed for at skjule komplicerede implementeringsoplysninger, mens du eksponerer et forenklet sæt dataattributter og -metoder, som brugeren kan interagere med. Det fungerer som en grænse mellem brugeren og det indre arbejde i et objekt eller system.
  • Indkapsling: Indkapsling er processen med at samle data (attributter) og metoder (funktioner), der fungerer på disse data, i en enkelt enhed – en klasse. Dette undermodul skjuler de interne oplysninger om, hvordan data gemmes eller behandles, hvilket kun viser en veldefineret grænseflade for interaktion.
  • Nedarvning: Nedarvning er den mekanisme, som én klasse bruger til at hente egenskaberne og funktionsmåden for en anden klasse. Det giver dig mulighed for at oprette en ny klasse, der er baseret på en eksisterende klasse, og genbruge attributterne og metoderne for den overordnede klasse.
  • polymorfi: Polymorfi gør det muligt at behandle objekter af forskellige klasser som objekter i en fælles superklasse. Polymorfi giver dig mulighed for at skrive kode, der fungerer sammen med objekter af flere typer, hvilket giver fleksibilitet og udvidelse.

Anerkendelse af disse begreber og forståelse af deres betydning kan hjælpe dig med at forstå de centrale begreber i objektorienteret programmering og anvende dem på din software udvikling projekter.