Nyheter

De fyra principerna för objektorienterad programmering

DATUM:
January 26, 2021
LÄSTID:
10min

Det har gått flera dagar sedan vi senast träffades (eller e-met) och jag kunde inte vänta med att skriva en annan artikel. Det här är Jordan från SnapStack Solutions och den här veckan kommer jag att prata om objektorienterad programmering, ett mycket bredare ämne.

Snabb påminnelse, förra gången vi pratade täckte vi Apache's teknologier Spark, Hive och Hadoop. Jag antar att du redan läst den, men om du inte gjorde det, här är en länk för att kolla in det.

Igår publicerade vi också en intervju med vår kollega Tomas. Det är en snabb läsning och mycket intressant. Lär känna honom genom att följa detta länk. Han har några väldigt roliga historier att dela, så se till att du inte missar dem. 🙂

Hur som helst, som jag nämnde tidigare, idag skulle jag vilja föra OOP närmare dig. Till en början, när du lär dig det, det verkar ganska förvirrande, men när du väl har fått tag på det blir det lätt! Innan jag förvirrar dig ytterligare, låt oss hoppa in i grunderna.

Vad är objektorienterad programmering (OOP)?

Objektorienterad programmering är ett programmeringsparadigm som använder begreppet klasser och objekt. Dess huvudsakliga mål är att omvandla programvarans struktur till enkla och återanvändbara delar av kod - klasser som används för att skapa enskilda förekomster av objekt.

Många populära programmeringsspråk använder detta programmeringsparadigm, de inkluderar JavaScript, Python, C #, Java, PHP och många fler.

För att göra det lättare att förstå, låt oss bryta ner det på detta sätt. Klasser är helt enkelt abstrakta ritningar och det är de som skapar just dessa objekt. Till exempel kan klasser vara dessa större fackföreningar som djur eller cyklar, och dessa definierar vilket attribut varje objekt skulle ha, som ”fälgstorlek” eller ”färg”, men inte det faktiska värdet på de specifika objekten.

Bortsett från det kan du också skriva funktioner inuti klasserna, även kända som metoder, som endast kan användas för de specifika objekten av den typen. Till exempel kan klassen ”cyklar” ha en metod deklarerad som 'changeColor' som kommer att ändra färgen på cykeln. Naturligtvis är detta endast tillämpligt på den här klassen, så det är därför metoden deklareras endast här.

Precis som alla andra ämnen jag pratar om, skulle jag vilja vara så objektiv som möjligt och ge dig de viktigaste fördelarna med vad jag skriver om. Detsamma gäller för OOP.

Här är Fördelarna med objektorienterad programmering:

- OOP förvandlar komplexa saker till att vara reproducerbara
- OOP-objekt är återanvändbara, därför kan de användas i olika program
— Använder klassspecifikt beteende via polymorfism
— Det är inte komplicerat för felsökning, eftersom klasserna har all nödvändig information
— OOP är säkert, eftersom det hjälper till att skydda informationen via inkapsling

Jag skulle försöka förklara hur OOP kan användas med ett verkligt exempel. Föreställ dig att du driver en cykelbutik och du behöver ett program för att hålla reda på alla dina cyklar. Eftersom de är ganska lika varandra, och de har nästan samma attribut, skulle det vara en fullständig röra om vi skulle skriva kod för varje enskild produkt.

Det är här objektorienterad programmering kommer till nytta. Nämligen grupperar den relaterade informationen för att skapa en klassstruktur som förkortar koden och gör den lättare att underhålla.

Detta är en snabbguide om hur vi skulle organisera cykelbutiken:

1. Först måste vi skapa en förälderklass för alla våra cyklar som skulle utgöra en ritning av data och metoder som alla cyklar skulle ha, oavsett typ (landsvägscykel, mountainbike, fullfjädrad, etc.)
2. Därefter skulle vi skapa underklasser som skulle innehålla alla de typer jag just nämnde, under förälderklassen.
3. För att göra en åtskillnad mellan varje barn skulle vi lägga till specifika attribut och metoder så att vi kan påpeka de attribut som gör dem annorlunda än de andra.
4 Slutligen skulle vi skapa objekt från denna barnklass som skulle innehålla alla de cyklar som passar undergruppen.

För att sammanfatta det, titta på det här sättet. OOP kan representeras som byggstenar, och följande är de viktigaste:

— Klasser,
— Föremål,
— Metoder,
— Attribut.

Jag kan inte avsluta den här artikeln innan jag går igenom De fyra principerna för objektorienterad programmering. Dessa inkluderar arv, inkapsling, abstraktion och polymorfism.

Arv handlar om återanvändbarhet, eller helt enkelt, när underklasserna tar data och metoder från den överordnade klassen. Med andra ord är fördelen med arv att du definierar en mer generisk klass, och sedan går du med så många underklasser som du behöver.

Inkapsling innebär att vi håller informationen inom klassen, men bara avslöjar den valda informationen. Denna princip kräver att vissa områden definieras som privata eller offentliga. För att bättre förstå detta, föreställ dig att med de privata fälten kan beteenden nås från andra metoder i samma klass, och med de offentliga fälten är dessa metoder också tillgängliga från utsidan av klassen.

Abstraktion gör det lättare för användaren att arbeta med endast de valda beteendena, med hjälp av förenklade verktyg på hög nivå. Det tillåter bara att informationen visas genom klasser och modifieras med metoder.

Polymorfism fungerar på ett sätt som genom att använda den första principen kan objekt åsidosätta ömsesidiga föräldermetoder. Denna princip ger oss möjlighet att utföra olika metoder på två sätt: metodöverskridande och metodöverbelastning.

Sammanfattningsvis är objektorienterad programmering till stor hjälp när du planerar hela projektet, eftersom det får dig att tänka på hela omfattningen och strukturen, på vilket sätt du hjälper dig själv att bygga din applikation ytterligare.

Det faktum att de använder återanvändbara klasser, hjälper till när det gäller mycket mindre skriven kod och vad som är viktigare, minskar komplexiteten. Med olika ord, implementering av OOP hjälper dig med återanvändbarheten, vilket sparar tid på lång sikt.

Jag sa det tidigare, OOP används på många språk, och det finns ingen bransch som inte skulle dra nytta av det. I vårt team har vi många utvecklare som är experter inom sitt område, särskilt när det gäller dessa populära språk. De är redo för en ny utmaning, så om du behöver en specialist, som du vet att du kan lita på, vänligen meddela oss så hjälper vi dig mer än gärna!

Tills nästa gång

LÄS MER PÅ VÅR BLOGG
Upptäck liknande inlägg
Vad är Web3-appar: Hur förändrar de våra dagliga liv

Svårt som det är att förstå, internet är benäget att förändras också. Vid starten var internet ett enkelt textbaserat medium men nu är det en dynamisk plattform som driver nästan alla aspekter av våra liv. Den nuvarande webbinfrastrukturen, ofta kallad Web2, kännetecknas dock av centralisering, datasekretessproblem och begränsad användarkontroll. Web3 håller på att förändra allt detta.

Läs mer
15 Typer av QA-testning: De olika ansikten för QA-testning som du inte var medveten om

Med olika typer av kvalitetssäkringstester (QA) som tränger in i mjukvaruutvecklingsvärlden är det enda sättet att förstå de unika egenskaperna hos var och en det enda sättet att lösa eventuella förvirringar när det gäller vilket alternativ som passar bäst för dina behov. Vi tog en för teamet och bestämde oss för att förklara de viktigaste typerna av QA-testning i detalj, i hopp om att hjälpa dig att välja rätt metod för dina testbehov.

Läs mer
Allt du behöver veta om inbyggda lösningar

Jag var angelägen om att skriva en annan artikel eftersom det hade gått länge sedan vi hade sett varandra (eller e-met). SnapStack Solutions\ 'Jordan har anlänt. Inbyggda system är vanligare än vi tror, men vad är de och hur använder vi dem? Ett inbäddat system, till skillnad från en bärbar dator, är avsett för och ägnas åt en enda artikel eller utrustning och används för att styra dess funktion. ”Enheten eller maskinen” kan vara allt från ett armbandsur till ett större medicinskt bildsystem eller robot, och det inbyggda systemet är vanligtvis inrymt i det, som namnet antyder.

Läs mer