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
Tre banbrytande AI-trender som omdefinierar framtiden

Vi bevittnar snabba framsteg och innovationer inom artificiell intelligens (AI) teknik som formar världen omkring oss. För att säkerställa att du håller dig synkroniserad med detta snabbt utvecklande område har vi undersökt och upptäckt de tre bästa AI-trenderna som orsakar uppståndelse i teknikvärlden under första kvartalet 2024.

Läs mer
Viktiga digitala transformationsmål för moderna företag: Öka kundupplevelsen, öka produktiviteten och uppnå marknadsdominans

Företag knuffas ständigt - eller ibland direkt pressas - mot digital transformation. År 2027 kommer de globala utgifterna för digital transformation sannolikt att nå 3,9 biljoner dollar - ett tydligt bevis på dess kritiska betydelse. Men varför är denna omvandling så kritisk? Och vilka är de slutmål för digital transformation som företag strävar efter att uppnå?

Läs mer
De 5 bästa frågorna som nya programmerare står inför

God dag, vänner. Jag hoppas att ni alla hade en fantastisk vecka. SnapStack Solutions\ 'Jordan har anlänt. Innan du börjar din helg, kolla in vårt senaste blogginlägg. Innan vi börjar med dagens ämne, låt mig påminna dig om att vi pratade om Hur man skapar appar för Huawei HarmonyOS? Här är en länk till den om du missat den. Ditt första jobb som kodare är till en början spännande. Men efter några veckor börjar jobbets nackdelar - deadlines, felrapporter och att bli ropad av din chef - att slita ner dig. Men det är inte allt undergång och dysterhet.

Läs mer