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
Potentialen för samarbeten mellan människa och AI är enorm, vilket gör det till 2000-talets partnerskap. Artificiell intelligens (AI) är inte längre bara en hjälpare begränsad till tråkiga uppgifter. AI syftar inte heller till att ersätta mänsklig ansträngning utan att öka den, vilket ger oss stärkt kapacitet att lösa komplexa problem. Med AI som din partner kommer du aldrig att få slut på idéer - det genererar outtröttligt variationer och erbjuder nya perspektiv på några sekunder.
Läs mer
Smarta kontrakt hjälper företag att ta hand om transaktioner snabbt samtidigt som de lägger till ett lager av skydd mot de vanliga fallgroparna med mänskliga fel och bedrägerier. Dessa digitala, självutförande kontrakt förändrar flera branscher och erbjuder en rad fördelar som är svåra att ignorera. Fascinerad?
Läs merMed tillkomsten av Web3 kommer ett löfte om en ljusare, rättvisare framtid där kontrollen återlämnas till användaren och tas bort från företag som tror att de kan göra vad som helst. I ett scenario där användare, inte företag, håller tyglarna, möjligheterna är praktiskt taget oändliga - och inte bara för de stora aktörerna, utan för alla, lika. Hur annars kommer Web3 att förbättra våra liv? Håll dig till oss när vi pratar om de viktigaste fördelarna med Web3.
Läs mer