Vad är Objektorienterad Programmering? Förklarat!

laptop 2557468 1280

Objektorienterad programmering kan även skrivas som OOP.

Objektorienterad programmering är ett av de viktigaste programmeringsparadigmen. Det är ett system av principer som definierar vilken grundläggande logik vi använder för att lösa en given uppgift och för att strukturera våra program, och hur element i koden är kopplade till varandra.

Ett programmeringsspråk kan följa många paradigm, och en del av kod kan också innehålla många paradigm. Det finns procedurmässiga, objektorienterade, funktionella och logiska programmeringsparadigm.

Fördelar med objektorienterad programmering:

      • Det är lättare att modellera komplexa saker som enklare, mer reproducerbara strukturer
      • Koden är lätt återanvändbar
      • Vi kan skapa program som körs snabbare med det
      • Kodens struktur är mer transparent
      • Utvecklingen är snabbare eftersom parallell klasser kan utvecklas samtidigt
      • Programmet kan ändras, felsökas och underhållas lättare
      • Det är säkrare (inkapsling och abstraktion gör data säkrare)

De mest populära objektorienterade programmeringsspråken:

  • C++
  • C#
  • Java
  • JavaScript
  • Python

Objekt vs klasser

Huvudkonceptet för objektorienterad programmering är objektet. Precis som verkliga objekt har objekt i programmering egenskaper och metoder.

Strukturen av data och funktioner som lagras i objekt behöver inte anges om och om igen vid programmering. För att göra kodningsprocessen och koden enklare och mer ekonomisk skapar vi specifika ritningar som kallas klasser. Dessa innehåller den grundläggande informationen om objektens struktur, och objekten innehåller mer specifika data och metoder.

Vi skapar en ”cykel” klass som har alla egenskaper och metoder vi behöver. Cykelns namn, cykelns färg och tillverkningsdatum kommer att lagras i objektet som kan ”köras” (metod).

Vi tilldelar strukturen och logiken för klassen ”cykel” till varje ny cykel. Vi kan skapa en ”1999 blå Crescent” eller en ”2012 beige Scott” på detta sätt.

Varje gång vi lägger in en ny bil i systemet kan vi återanvända koden som finns i vår ”cyklas”-klass.

Hur är objektorienterade program uppbyggda?

  • Kärnan av abstraktion är att den endast tillhandahåller nödvändig information till omvärlden och döljer de interna detaljerna om utförandet.
  • Program består ofta av enheter som består av tusentals rader kod och är svåra att hantera. Abstraktion hjälper till att underhålla koden och gör den mer transparent för användaren.
  • Genom abstraktion visar objekt endast element som är viktiga i ytoperationen och interaktionen med andra objekt, men de döljer den inre strukturen.

I exemplet ”cyklar”: ”start”-metoden innehåller den kodbit som beskriver vad som händer när vi anropar den här funktionen när vi ”startar” cykeln. Objektet som kallas det (t.ex. ”person”-objektet som startar cykeln) behöver inte veta exakt vilken kod som körs i bakgrunden, bara att ”cykeln” fungerar, så det startar efter att vi anropat ”start”-metod.

I ett spel: ”attack”-metoden innehåller förmodligen många rader kod som beskriver hur attacken fungerar och vilka effekter den kommer att få har på vår hjälte. “Fiende”-objektet behöver inte veta hur attacken fungerar, det behöver bara veta att värdet på hjältens “hälsopoäng”-variabel kommer att minska.

Arv

Det är många svårigheter med långa, komplexa kodbitar: de är inte bara svåra att hantera och titta igenom utan det kan också finnas många liknande kodavsnitt eller många liknande objekt. De kan ha samma logik, längre kodbitar kan vara likadana i dem, men objekten är inte fullständiga kopior av varandra.

För att inte skapa nya objekt för allt kan vi använda arv. Vi använder termerna ”förälder” och ”barn” i programmering: barn ärver från sina föräldrar.

Under nedärvning ärver det underordnade objektet det överordnade objektets logik och struktur. Barnklasserna kan automatiskt komma åt förälderns funktioner.

Arv stöder enkel återanvändning

Låt oss titta på vårt cykelexempel igen: några av ”cykel”-objektets variabler (färg, modellens namn, tillverkningsdatum) kan ärvas av ett nytt objekt, vilket betyder vi kan skapa liknande objekt som har lite olika egenskaper också. Till exempel ”enhjuling”, ”bil” och ”traktor”.

Vi kan hitta många exempel på arv också i vårt rollspel. Det finns förmodligen många olika typer av fiender i spelet (som ”orc”, ”drake”, ”älv”, etc.), och dessa kan alla vara barn till ”fiendens” föräldraobjekt. De kan ärva många egenskaper från det ursprungliga föremålet (”flytta”, ”attacka”), men de kan ha olika kläder och vapen.

Polymorfism

Polymorfism låter barnobjekt ärva sina föräldrars egenskaper samtidigt som de fortfarande har sina egna metoder som används på olika sätt. Så barn kan implementera sina föräldrars funktioner på olika sätt.

Om ”bilarna”, ” lastbil” och ”traktor”-objekt är alla ättlingar till klassen ”fordon”, kan de ärva dess egenskaper. Genom polymorfism kan ”start”-metoden köras på olika sätt i varje underordnat objekt.

I vårt spel äver alla fiender (som ”orc” och ”drake” objekt ) ”attack”-metoden från ”fiende”-objektet, men deras ”attack” implementeras på olika sätt.

Objektorienterad programmering är ett komplext koncept. Exemplen i den här artikeln kan verka enkla, men de används vanligtvis på avancerad nivå. Det finns dock element och aspekter som vi kan implementera även på nybörjarnivå. Till exempel kan vi skapa och använda enkla objekt i JavaScript, Java och Python.

Lämna ett svar

Du kanske också undrar

  • Blockkedjans inverkan på programmeringens framtid

  • En Kort Introduktion till Programmering – En Guide

  • Hur lång tid det tar att lära sig koda?

  • Hur man lär sig koda – Hur blir man en programmerare?

  • Varför du borde lära dig programmering

  • Vad Används Kodning till? Förklarat!

  • 15 tips vad du kan göra med kodningsfärdigheter!

  • Varför är Kodning Viktigt? Allt du bör Veta!