Objektorienterad programmering: Definition

Diversifieringen av tillämpningsområdena för programmering gav upphov till olika typer av språk. I den här artikeln kommer vi att upptäcka vad är objektorienterad programmering och vilka typer av objektorienterade programmeringsspråk som finns. Våga utöka dina kunskaper!

Objektorienterad programmering

Objektorienterad programmering

I allmänhet kräver programmering kunskap om ett språk som ansvarar för överföring av kommandon till datorn och en algoritm konverterad till ett program, men vad är programmering?

Programmering är en uppsättning åtgärder som leder till att en kod skrivs, som kan uppfylla målet för vilket den skapades. För sin del, a källkod är den interna representationen av ett program eller en programvara, och ett program är en grupp beställningar som styr datorns drift.

I grund och botten går ett program igenom tre steg: redigeringen av programmet på ett lämpligt språk, omvandlingen av källkoden till instruktioner för maskinen och kopplingen mellan objektkoderna och funktionsbiblioteken, vilket slutligen ger upphov till vad den är känd som körbar kod.

Ett program måste skrivas på ett programmeringsspråk som är förståeligt för användaren. För att detta ska hända måste programmeraren anta ett av de många befintliga programmeringsparadigmen, som bestämmer visionen och därför valet av metoder att följa vid konstruktionen av samma.

Programmeringsparadigm

Framsteg inom programmering och teknik har gett upphov till olika programmeringsmetoder eller paradigm. Dessa har i sin tur lett till olika former av programmering och olika former av problemlösning. Här är de befintliga paradigmen:

Imperativ paradigm

Den säger att programmen är en strikt sekvens av instruktioner från topp till botten, som bara avbryts av att ett delprogram inkluderas någonstans i det.

Strukturerat paradigm

Det tillämpar kodstrukturer grupperade efter block av procedurer och funktioner. Koden återges i form av en loop, som domineras av en logisk anledning.

Deklarativ paradigm

Det fastställer inte den ordning som ska följas vid genomförandet av de åtgärder som är nödvändiga för att lösa ett problem. Inom den skiljer man två typer: det funktionella paradigmet, där problemet och lösningen beskrivs som funktioner, och det logiska paradigmet, baserat på ett logiskt predikat.

Evenemangsprogrammeringsparadigm

Det är baserat på oändlig iteration för att upptäcka problemet och fastställa hur man löser det.

Parallella, distribuerade och samtidiga paradigm

Förverkligandet av programmet kräver flera beräkningsenheter. Rutinerna körs oberoende av andra beräkningsenheter.

Objektorienterat paradigm

Objektorienterad programmering

Denna typ av programmering är baserad på tre grundläggande principer: datakapsling, objektabstraktion och typkontroll enligt klasshierarkin.

Det är viktigt att notera att ett programmeringsspråk vanligtvis inte bara svarar på ett paradigm, utan kan vara resultatet av kombinationen av flera typer av dem. Nedan kommer vi dock att ägna oss åt detaljerade detaljer endast för att definiera vad är objektorienterad programmering och vad är de olika objektorienterade programmeringsspråk som finns

Kvaliteter

Det är det mest utbredda paradigmet idag, eftersom det möjliggör bättre hantering av komplexitet till en rimlig kostnad. Genom det föreslås möjligheten att bygga i delar, det vill säga dela arbetet utifrån komponenter, vilket resulterar i robusta, bärbara och återanvändbara applikationer, med långsiktiga fördelar.

Till skillnad från andra typer av programmering letar objektorienterad programmering efter delar i enheter som härrör från problemdomänen, och inte inom själva problemlösningen. Det primära kravet är att varje komponent beter sig på ett förväntat sätt, så att vår utveckling inte påverkas av hur den implementeras, och att vi på förhand kan känna till de villkor som erbjuds av varje komponent, liksom sättet att ansluta till. de.

Objektorienterad programmering

Från en annan synvinkel kan vi nämna att objektorienterad programmering är relaterad till kunskapsteorin, som säger att människan lagrar information enligt förutbestämda scheman, produkten av sina erfarenheter som person. På detta sätt gör denna typ av programmering det möjligt att representera kunskap på ett heuristiskt eller teoretiskt sätt, genom individens mentala system, med användning av tidigare kunskap lagrad i informationsenheter.

Origenes

https://youtu.be/aESIbDclIzw?t=5

Objektorienterad programmering är en teknik, stil eller metod som utvecklats på 1960-talet som en följd av krisen som orsakas av omöjligheten att ändra eller modifiera komplexa program. Situationen som blev värre och värre på grund av bristen på specialiserad personal som var villig att ge underhåll till programmen.

Den tillfälliga lösningen på denna kris var i händerna på strukturerad programmering, som bestod av att dela upp programmen i individuella förfaranden som skulle utföra specifika uppgifter separat. Detta förde med sig andra nackdelar, huvudsakligen genererade av hur svårt det var att uppnå samordning mellan de många utvecklare som var involverade i ett projekt, eftersom ju fler uppgifter det rör sig om, desto större antal programmerare.

Utan tvekan var den största nackdelen med denna typ av programmering behovet att konceptuellt skilja data från koderna. En situation som direkt förvärrades av programmets storlek och komplexitet.

För att minska programmens komplexitet föddes således objektorienterad programmering. Dess främsta fördel är att det gör det möjligt att bygga komplexa program med enklare objekt. Dessa objekt utgör enheterna i programvaran orienterade enligt denna metodik. Möjligheten att ärva både data och kod från befintliga applikationer förbättrar utvecklarens produktivitet. På samma sätt gör det det enkelt att utöka och återanvända klasser i andra applikationer, utan att behöva ändra den ursprungliga koden kraftigt.

särdrag

Objektorienterad programmering har flera kvaliteter, här är de viktigaste:

  • Grunden för objektorienterad programmering är klasser, inte algoritmer. Dessa utgör logiska byggstenar.
  • Varje objekt är en förekomst av en klass.
  • Ett program uppfattas som ett sätt att skicka och ta emot meddelanden genom en uppsättning objekt som reagerar på varandra.
  • Varje objekt måste söka det bästa sättet att svara på varje meddelande som tas emot.
  • Varje objekt kan svara på meddelanden på olika sätt.
  • Det gör det enkelt att byta programvara eftersom komponenterna är utbytbara.
  • Delvisa och interna förändringar påverkar inte beteendet hos resten av systemet.
  • Om de grundläggande principerna för objektorienterad programmering följs blir kostnaden för att bygga systemet lägre än i de fall där delarna är beroende av varandra.
  • Det är möjligt att klasser som härrör från andra ärver sina föregångares kunskaper och färdigheter. Genom arv är klasserna relaterade till varandra, och arbetssättet utnyttjas utan att koden behöver skrivas om.
  • Metoderna i en klass kan göra olika saker, även om de behåller samma namn. Det vill säga, genom polymorfism kan programmeraren implementera flera former av samma metod, beroende på vilken klass som implementeringen görs på. Detta innebär att flera metoder kan nås med samma namn eller åtkomstmedium.

Skillnader: strukturerad programmering vs. Objektorienterad programmering

Som vi redan har nämnt representerar objektorienterad programmering utvecklingen av strukturerad programmering, vilket inte betyder att den är bättre än den, eftersom var och en har sin användbarhet beroende på vilken typ av system som kommer att utvecklas. De grundläggande skillnaderna som finns mellan de två fastställs nedan:

Strukturerad programmering löser algoritmiska problem, från introduktion av vissa data genereras en utmatning. Objektorienterad programmering är baserad på objektmodellering, mycket användbar vid utveckling av webbapplikationer.

Den första fokuserar på en datastruktur, medan den andra är baserad på objekt, med sitt eget tillstånd och beteende.

Informationen inom strukturerad programmering flödar genom strukturer och anrop till funktioner, i objektorienterad programmering är det resultatet av interaktionen mellan dem, genom att skicka och ta emot meddelanden.

Grundprinciper

Som en konsekvens av begreppet objektorienterad programmering framträder tre grundprinciper för detta paradigm. Dessa är:

Datakapsling

Som vi redan har nämnt förväntas objekt veta hur de ska svara på de meddelanden de får, vilket visar specifikt beteende. Vad vi dock inte vill är att den som skickar meddelandet vet hur de gör det. Uppnåendet av detta mål är det som kallas inkapsling av data. Med andra ord, vad du vill är att varje del av programmet bara vet vad som intresserar det, och undviker därmed säkerhetseffekter relaterade till andra objekt.

Kort sagt, med inkapslingen av data är det omöjligt att komma åt objektens komponenter, det vill säga dessa är skyddade inom en enda väldefinierad programmeringsenhet, eftersom var och en av dem har designspecifikationer som gör dem oberoende av varandra.

Den främsta anledningen till att vi kanske önskar att klientobjektet inte känner till implementeringssättet är att det i allmänhet kan finnas flera alternativ för samma operation. Dessutom kan vi i framtiden bestämma oss för att byta från ett alternativ till ett annat, utan att kunden vet eller ser tillhandahållandet av tjänsten påverkas.

Objektabstraktion

En väsentlig egenskap hos objektorienterad programmering är att den försöker angripa problemet i delar. På detta sätt är det första det gör att hitta föremålen, sedan bestämma hur de ska interagera och slutligen genomföra sitt beteende. Följaktligen har vi att de objekt som vi hittar är de som hjälper oss att lösa problemet.

Abstraktion innefattar två typer av kunskap, data eller variabler, som utgör det mentala schemat, och metoder, funktioner eller procedurer, som relaterar schemat till andra förutbestämda scheman. Det vill säga tack vare dataabstraktion kan dataens domän och struktur definieras, liksom metoder för att komma åt dem kan fastställas. Slutligen blir abstraktionen en ny typ av data som definieras av programmeraren, som består av attribut och metoder som tillämpas på den förra.

På grund av att det finns flera mentala system för samma problem kan varje programmerare organisera klasserna på olika sätt, beroende på hans personliga uppfattning. Vad han menar är att objektabstraktion är förmågan inom programdesignen att skapa användardefinierad data.

Skriv kontroll enligt klasshierarki

Det är då du väljer språk för typkontroller. Det finns språk som bestämmer sig för att göra det under sammanställningen och andra under körningen. Andra språk kompilerar inte ens, vilket inte ger dig möjlighet att göra kontroller av något slag förrän körtiden.

När kontrollen görs vid körtiden kallas det en dynamisk kontroll. När det görs vid kompileringstid kallas det däremot statisk kontroll.

På grund av det faktum att vid statisk kontroll uppstår felen från början, utan att nå exekveringsögonblicket, sägs det ofta att denna typ av kontroll är säkrare. Dynamisk testning möjliggör emellertid delvisa implementeringar, utan att koden behöver skrivas om flera gånger.

Hur fungerar det?

Det första steget för att lösa ett problem under detta paradigm är att hitta objekten eller enheterna i problemdomänen. Sedan är det nödvändigt att hitta sättet hur dessa enheter interagerar för att lösa problemet, fastställa meddelandena som objekten skickar, i vilken ordning och under vilka förhållanden de gör det. Slutligen måste du implementera objektens beteende med hänvisning till det svar de ger med avseende på meddelandena.

Sammanfattningsvis, när ett program körs under det objektorienterade programmeringsparadigmet, händer tre saker: objekt skapas efter behov, meddelanden flödar från ett objekt till ett annat parallellt med informationsbehandlingen av programmet och när objekt inte längre behövs, de raderas för att frigöra minne i systemet.

Nyckelbegrepp

För att förstå lite mer om vad är objektorienterad programmering, måste vi nämna följande grundläggande begrepp:

  • Objekt: Det hänvisar till den enhet som kan vara mottagare av meddelanden, medan den kan svara på dem och skicka meddelanden till andra objekt. Det är enheten som har beteende.
  • Identitet: Det är aspekten som skiljer ett objekt från ett annat.
  • Meddelande: Detta är den resulterande interaktionen mellan en enhet som begär en tjänst och en annan som tillhandahåller den.
  • Klientobjekt: Det är den som skickar meddelandet.
  • Mottagarobjekt: Det är objektet som tar emot meddelandet.
  • Delegering: Med hänvisning till att meddelanden skickas från ett objekt till andra objekt. När ett objekt behöver samarbete från andra för att kunna svara på meddelanden.
  • Beteende: De är svaren på meddelandena som tas emot av ett mottagande objekt.
  • Status: Hänvisar till den aktuella situationen för varje objekt.
  • Ansvar: Det är samspelet mellan tillståndet och beteendet hos ett objekt.
  • Metod: Det hänvisar till implementeringen av svaret som ges av ett objekt på ett mottaget meddelande.
  • Polymorfism: Detta är förmågan hos vissa objekt att svara på samma budskap, men på flera olika sätt.
  • Klasser: De är uppsättningar av objekt som beter sig på samma sätt. De kan definieras av programmeraren. De är mentala system som gör att objekt kan abstraheras och bestämma hur de ska förhålla sig till varandra.
  • Attribut: Det hänvisar till en intern variabel för objektet som skapats för att lagra en del av dess tillstånd.
  • Kontrakt: hänvisas till kunskapen om vad varje komponent erbjuder och sättet att ansluta till den.

Felsökning baserad på objektorienterad programmering

När problemet har identifierats och den möjliga lösningen föreslås krävs det att transkribera det till ett programmeringsspråk så att det kan köras av en dator genom användning av ett program. Enligt metodiken för objektorienterad programmering definieras följande steg:

  • Definition av programmet: Det behandlar den schematiska beskrivningen av problemet på ett tydligt, begripligt och väldefinierat sätt. Det innebär identifiering av ursprunget och aspekten av de data som ska behandlas, liksom beskrivningen av resultaten och det sätt på vilket de kommer att presenteras.
  • Objektorienterad analys och design: Avser identifiering och beskrivning av objekt i problemdomänen. Därefter fastställs attributen, relationerna och metoderna att följa, detta för att definiera de klasser som kommer att implementeras i ett specifikt programmeringsspråk.
  • Programmering: I grunden hänvisar det till transkriberingen av programmet, som inkluderar korrekt kodning av ett programmeringsspråk, med hjälp av en utvecklingsstil som kan garantera produktens kvalitet, vilket kommer att orsaka rätt lösning av problemet. Detta steg innefattar konstruktion av algoritmer, utarbetande av flödesscheman och den slutliga programmeringen, går igenom skrivbordstesterna, kodning, sammanställning och körning av programmet.
  • Dokumentation: Det handlar om beskrivningen av de steg som är nödvändiga för att lösa ett problem. Det innebär införlivande av kommentarsrader som förtydligar eller förklarar innebörden av kodlinjerna som kan vara förvirrande, särskilt de som hänvisar till identifierare och deklarerade datastrukturer, kontrollstrukturer och metoder och deras parametrar. Detta steg är avgörande för slutproduktens framgång, för om dokumentationen misslyckas är programmen svåra att läsa och felsöka, och ännu mer blir deras modifiering och underhåll nästan omöjligt.

På ett annat sätt kan vi säga att funktionaliteten för programmeringsspråk har ökat under åren, främst på grund av utseendet på nya och varierade användningsområden. Även om det är sant att i början användes dessa språk i princip för att hantera stora mängder data och utföra vissa numeriska beräkningar.

Nu används programmeringsspråk nästan på alla samhällsområden som inkluderar databashantering, bildgenerering och till och med artificiell intelligens, bland många andra aspekter.

Främst har födelsen av ny mjukvaruteknologi orsakat ökningen av de programmeringsspråk som vi kommer att se nedan.

Objektorienterade programmeringsspråk

De är språk som är utformade för att integrera data och appletar i klasser. Dessa kan ärva egenskaper hos andra transformerade koder och ge upphov till nya egenskaper, vilket också leder till en ny programmeringsmetodik.

Klassificering

Som vi kommer att se senare finns det flera programmeringsspråk som svarar på det objektorienterade paradigmet. Enligt deras sätt att implementera, klassificeras de som:

  • När de implementerar beteendet: Det täcker de språk som är baserade på klasser och på prototyper eller exempel.
  • När de implementerar objektskapande: De baseras på körningstiden i det dynamiska minnesområdet eller sammanställningstiden för stacken.
  • Enligt typkontroll: Avser kompilering av tid eller verifiering av körtid.

Bland de viktigaste objektorienterade språken har vi:

vad-är-objektorienterad-programmering

Småprat

Det kan bara programmeras under paradigmet för objektorienterad programmering. Det är ett klassbaserat språk som designar objekt i det dynamiska minnesområdet vid körning. Det gör bara typkontroller vid körning, det vill säga det är ett dynamiskt kontrollspråk.

java

Det är ett av de mest använda språken idag, det är helt objektorienterat, med syntax som liknar C och C ++. Det är plattformsoberoende.

Precis som Smalltalk är det ett klassbaserat språk som skapar objekt i det dynamiska minnesområdet vid körning, men inte gör typkontroller vid körning, utan snarare vid kompileringstid, med skillnaden att det skapar en mellanliggande icke-körbar kod, kommer från en förkompil. Detta gör det till ett statiskt kontrollspråk.

Java-objektorienterad programmering de körs på en virtuell maskin specialiserad på denna typ av språk, som fungerar som om det vore en dator och därför tillåter deras körning utan att behöva ändra dem. Denna typ av maskin är en så kallad tolk.

Objektorienterad programmering

JavaScript

Till skillnad från Smalltalk och Java är det ett språk som bygger på prototyper eller exempel. Det tolkas och utan typer, det vill säga det utför inte typkontroller varken vid körtid eller vid kompileringstid. Skapar objekt i det dynamiska minnesområdet vid körning. Eftersom det saknar sammanställning blir det ett dynamiskt kontrollerat språk.

Det är ett kraftfullt språk, tack vare dess bärbarhet och integration, samt dess standard och enkla programmeringsteknik. Med andra ord är JavaScript en kod som är inbäddad på en webbsida, vars syfte är att förbättra dynamiken på den sidan.

C + +

Det utgör en ökning av det traditionella C -språket genom att absorbera fördelarna med detta språk och införliva stöd för objekt. Även om det omfattar tre olika programmeringsparadigm, såsom: strukturerad programmering, generisk programmering och objektorienterad programmering, var det han som ledde övergången från det strukturerade paradigmet till det objektorienterade paradigmet.

Det är ett mångsidigt språk som används mycket ofta bland applikationsprogrammerare, både i Windows och i GNU Linux. Skapar objekt i högminnet vid körning. Det fokuserar i grunden på prestanda, bärbarhet och abstraktion. Dess största nackdel är att vid kompilering genereras en körbar fil vars kod endast är giltig för plattformen där sammanställningen gjordes. Å andra sidan, eftersom det är ett körbart språk, är det inte plattformsoberoende.

C#

Det är ett programmeringsspråk som körs vid körning och ingår i .NET -plattformen, som låter dig dela och känna igen dina bibliotek. Det är helt objektorienterat, gör det möjligt att skapa alla typer av applikationer.

Det utgör en utveckling av C- och C ++ -språken, vilket eliminerar komplexiteten i det senare, eftersom det är lättare att använda och minskar felmarginalen under driften på grund av acceptansen av förkompilering.

Objektorienterad programmering

Python

Det är ett språk med flera plattformar, främst objektorienterat, men omfattar andra paradigm som tvingande programmering, funktionell programmering och aspektorienterad programmering.

Dess rena syntax, mycket nära naturligt språk, gynnar läsning av dess kod. Det rekommenderas starkt att börja i programmeringsvärlden.

Det körs genom ett mellanprogram, det vill säga genom en tolk. Eftersom det är ett halvtolkat språk är det flexibelt och bärbart. Den skrivs dynamiskt, vilket innebär att datatypen bestäms vid körning.

pascal

För närvarande är det språket som används par excellence i undervisningen i programmering. Den har en enkel syntax, med ett mycket strukturerat språk, som underlättar läsning och tolkning av programmen. Dess sammanställning kan göras på alla maskiner som har en Pascal -kompilator.

Trots att det är ett strukturerat språk tillåter det objektorienterad programmering genom sin Turbo Pascal-version. Den har en integrerad miljö, från vilken det är möjligt att skriva programmen och testa dem. I slutändan är Pascal ett allmänt språk.

Om ämnet som intresserar dig är relaterat till programmering, inbjuder jag dig att läsa Vad är en algoritm i programmering?


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Actualidad Blog
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.