Articles

objektorienterad programmering (OOP)

objektorienterad programmering (OOP) är en datorprogrammeringsmodell som organiserar mjukvarudesign kring data eller objekt snarare än funktioner och logik. Ett objekt kan definieras som ett datafält som har unika attribut och beteende.

OOP fokuserar på de objekt som utvecklare vill manipulera snarare än den logik som krävs för att manipulera dem. Detta tillvägagångssätt för programmering är väl lämpat för program som är stora, komplexa och aktivt uppdaterade eller underhållna.

organisationen av ett objektorienterat program gör också metoden till nytta för samarbetsutveckling, där projekt är indelade i grupper.

ytterligare fördelar med OOP inkluderar kodåteranvändbarhet, skalbarhet och effektivitet. Även när man använder mikrotjänster bör utvecklare fortsätta att tillämpa principerna för OOP.

det första steget i OOP är att samla alla objekt som en programmerare vill manipulera och identifiera hur de relaterar till varandra-en övning som ofta kallas datamodellering.

exempel på ett objekt kan sträcka sig från fysiska enheter, till exempel en människa som beskrivs av egenskaper som namn och adress, ner till små datorprogram, till exempel widgets.

en skildring av objektorienterad programmering
ett exempel på konventionerna i objektorienterad programmering.

När ett objekt är känt är det märkt med en klass av objekt som definierar vilken typ av data den innehåller och eventuella logiska sekvenser som kan manipulera den. Varje distinkt logisk sekvens är känd som en metod. Objekt kan kommunicera med väldefinierade gränssnitt som kallas meddelanden.

principer för OOP

objektorienterad programmering baseras på följande principer:

  • inkapsling. Genomförandet och tillståndet för varje objekt är privatägda inom en definierad gräns eller klass. Andra objekt har inte tillgång till denna klass eller behörighet att göra ändringar men kan bara ringa en lista över offentliga funktioner eller metoder. Denna egenskap hos data gömmer ger större programsäkerhet och undviker oavsiktlig datakorruption.
  • abstraktion. Objekt avslöjar bara interna mekanismer som är relevanta för användningen av andra objekt, vilket döljer onödig implementeringskod. Detta koncept hjälper utvecklare lättare att göra ändringar och tillägg över tiden.
  • arv. Relationer och underklasser mellan objekt kan tilldelas, så att utvecklare kan återanvända en gemensam logik samtidigt som de behåller en unik hierarki. Denna egenskap hos OOP tvingar en mer grundlig dataanalys, minskar utvecklingstiden och säkerställer en högre noggrannhet.
  • polymorfism. Objekt kan ta på sig mer än en form beroende på sammanhanget. Programmet kommer att avgöra vilken mening eller användning som är nödvändig för varje utförande av det objektet, vilket minskar behovet av att duplicera kod.

objektorienterade programmeringsspråk

medan Simula krediteras som det första objektorienterade programmeringsspråket är de mest populära OOP-språken:

  • Java
  • JavaScript
  • Python
  • c++
  • Visual Basic.NET
  • Ruby
  • Scala
  • PHP

OOPSLA är den årliga konferensen för objektorienterade programmeringssystem, språk och applikationer.

kritik av OOP

den objektorienterade programmeringsmodellen har kritiserats av utvecklare av flera skäl. Det största problemet är att OOP överbetonar datakomponenten i mjukvaruutveckling och inte fokuserar tillräckligt på beräkning eller algoritmer. Dessutom kan OOP-kod vara mer komplicerad att skriva och ta längre tid att kompilera.

alternativa metoder till OOP inkluderar:

  • funktionell programmering
  • strukturerad programmering
  • imperativ programmering

de flesta avancerade programmeringsspråk ger utvecklare möjlighet att kombinera dessa modeller.