objektorienterad programmering hänvisar till konceptet på högnivåspråk som Java och Python som använder objekt och klasser i sina system.implementeringar. OOP har fyra stora byggstenar som är polymorfism, inkapsling, abstraktion och arv., Det finns andra programmeringsparadigmer som procedurprogrammering där koder skrivs i följd. Python och Java är flera paradigm hög nivå programmeringsspråk som innebär att de stöder både OOP och procedurprogrammering. En programmerare bestämmer sig för paradigmet att använda baserat på hans expertis och de problem han försöker lösa. Det finns dock ingen kontrovers att OOP gör programmeringen enklare, snabbare, mer dynamisk och säkrad., Detta är en viktig anledning Java och Python är de mest populära programmeringsspråken i världen idag
om du vill lära dig Java och Python eller andra objektorienterade programmeringsspråk måste du förstå dessa objektorienterade programmeringsparadigmer som är ett relativt enkelt koncept att förstå. Låt oss ta en titt på dem.
Vad är arv?
i Java och Python skrivs koder i objekt eller block om du antar OOP-metodik., Objekt kan interagera med varandra genom att använda egenskaperna hos varje block eller utvidga funktionerna i ett block genom arv. Arv säkerställer att koderna återanvänds. Det finns miljontals Java och Python bibliotek som en programmerare kan använda genom arv. Egenskaperna hos en klass kan ärvas och utökas av andra klasser eller funktioner. Det finns två typer av klasser. Den ena är den överordnade eller basklassen, och den andra är den underordnade klassen som kan ärva den överordnade klassens egenskaper. Arv är en viktig pelare i objektorienterad programmering., Det är den mekanism genom vilken klasser i Java, Python och andra OOP-språk ärver attributet för andra klasser
en överordnad klass kan dela sina attribut med en underordnad klass. Ett exempel på en överordnad klassimplementering finns i DDL (Dynamic-link library). En DDL kan innehålla olika klasser som kan användas av andra program och funktioner
ett verkligt exempel på arv är en mor och barn. Barnet kan ärva attribut som höjd, Röstpattrar, färg., Mamman kan reproducera andra barn med samma attribut också
Du kan skapa en funktion eller klass som heter ”flytta Robot”, som styr en robot för att flytta. Och du kan skapa metod och funktioner i andra program som kan ärva klassen ”flytta Robot” utan att skriva om koderna om och om igen. Du kan också förlänga den här klassen genom att ärva den och skriva några fler koder till den som skulle instruera en robot att flytta och även köra under vissa specifika omständigheter med hjälp av if och else uttalande., Med arv kan du skapa flera robotar som skulle ärva attributen för moderklassen ”flytta Robot”, vilket säkerställer kod återanvändbarhet.
Sammanfattningsvis handlar arv om förhållandet mellan klasser och metod, vilket är som en förälder och ett barn. Ett barn kan födas med några av föräldrarnas attribut. Arv säkerställer återanvändbarhet av koder precis som flera barn kan ärva attributen för sina föräldrar.,
När vi vill skapa en funktion, metod eller klass letar vi efter en superklass som innehåller koden eller en del av koden vi vill implementera. Vi kan sedan härleda vår klass från den befintliga. I Java gör vi detta genom att använda sökordet ”Extends”, och i Python uppnår vi detta genom att ärva attributen för en klass genom att ringa upp klassnamnet.
arbetar du i verksamheten?
visste du att en app som NerdVision kan förbättra MTTR (Mean-Time-To-Repair)?,
inkapsling
det här är en programmeringsstil där implementeringsdetaljer är dolda. Det minskar mjukvaruutveckling komplexitet kraftigt. Med inkapsling exponeras endast metoder. Programmeraren behöver inte oroa sig för implementeringsdetaljer men handlar bara om verksamheten. Till exempel, om en utvecklare vill använda ett dynamiskt länkbibliotek för att visa datum och tid, behöver han inte oroa sig för koderna i datum-och tidsklassen, utan han skulle helt enkelt använda data-och tidsklassen genom att använda offentliga variabler för att ringa upp det., I huvudsak inkapsling uppnås i Python och Java genom att skapa privata variabler för att definiera dolda klasser i och sedan använda offentliga variabler för att ringa upp dem för användning. Med detta tillvägagångssätt kan en klass uppdateras eller upprätthållas utan att oroa sig för metoderna som använder dem. Om du anropar en klass i tio metoder och du behöver göra ändringar behöver du inte uppdatera hela metoderna utan uppdaterar en enda klass. När klassen har ändrats uppdaterar den automatiskt metoderna i enlighet därmed. Inkapsling säkerställer också att dina data är dolda från extern modifiering., Inkapsling är också känd som data-dolda.
inkapsling kan ses som en sköld som skyddar data från att komma åt med extern kod.
i huvudsak binder inkapsling data och kod som en enda enhet och upprätthåller modularitet.
polymorfism
polymorfism betyder existerande i många former. Variabler, funktioner och objekt kan existera i flera former i Java och Python., Det finns två typer av polymorfism som är körtid polymorfism och kompilering-tid polymorfism. Körtid kan ta en annan form medan programmet körs och kompilera-tiden kan ta en annan form under sammanställning.
ett utmärkt exempel på polymorfism i objektorienterad programmering är ett markörbeteende. En markör kan ta olika former som en pil, en linje, kors eller andra former beroende på användarens beteende eller programläget., Med polymorfism, kan en metod eller underklass definiera sina beteenden och attribut samtidigt behålla en del av funktionaliteten i sin moderklass. Det innebär att du kan ha en klass som visar datum och tid, och sedan kan du skapa en metod för att ärva klassen men bör visa ett välkomstmeddelande vid sidan av datum och tid. Målen för polymorfism i objektorienterad programmering är att genomdriva enkelhet, vilket gör koder mer utdragbara och enkelt underhålla applikationer.,
Arv låter dig skapa klasshierarkier, där en basklass ger sitt beteende och attribut till en härledd klass. Du är då fri att ändra eller utöka dess funktionalitet. Polymorfism säkerställer att rätt metod kommer att utföras baserat på det anropande objektets typ.
programkoder skulle köras annorlunda i ett annat operativsystem. Förmågan hos programkod uppvisar olika beteenden över operativsystemet är känd som polymorfism i OOP. Du kan skapa en klass som heter ”Flytta” och sedan fyra personer skapa djur som skulle ärva flytta klassen., Men vi vet inte vilken typ av djur de skulle skapa. Så polymorfism skulle tillåta djuren att röra sig men i olika former baserat på de fysiska egenskaperna
a skapar en snigel som ärver move-klassen, men snigeln skulle krypa
b skapar en känguru som ärver move-klassen, men känguru skulle hoppa
c skapar en hund som ärver move-klassen, men hundarna skulle gå
d skapar en fisk som ärver move-klassen, men fisken skulle simma.
polymorfism har säkerställt att dessa djur alla rör sig men i olika former., Hur programmen skulle bete sig skulle inte vara kända förrän körtiden.
utvecklare och verksamheter måste samarbeta för att lyckas.
NerdVision-appen samlar dessa två lag för att göra livet bättre för alla
abstraktion
abstraktion i Java och Python är en programmeringsmetod där detaljer om programmeringskoderna är dolda från användaren, och endast de väsentliga sakerna visas för användaren. Abstraktion handlar om idéer snarare än händelser., Det är som en användare som kör ett program (webbläsare) utan att se bakgrundskoderna. Abstraktion uppnås i antingen abstrakta klasser eller gränssnitt i Java och Python. NetBeans och Eclipse IDE implementerar abstraktion för Java medan Django implementerar abstraktion för Python.
en programmerare använder en integrerad utvecklingsmiljö för att designa ett användargränssnitt utan att oroa sig för hur IDE genererar HTML-koderna. I huvudsak visar abstraktion de väsentliga detaljerna för användaren ensam.,
slutsats
huvudidén bakom objektorienterad programmering är enkelhet, kod återanvändbarhet, förlängbarhet och säkerhet. Dessa uppnås genom inkapsling, abstraktion, arv och polymorfism. För att ett språk ska klassificeras som OOP måste det ha dessa 4 OOP block. Abstraktion har att göra med att visa endast den relevanta aspekten för användaren, till exempel slå på radion, men du behöver inte veta hur radion fungerar. Abstraktion säkerställer enkelhet. Arv har att göra med metoder och funktioner som ärver attributen för en annan klass., Huvudsyftet är kod återanvändning som säkerställer att program utvecklas snabbare. DRY (inte upprepa dig själv)är ett koncept i arv som innebär att i ett program, du bör inte ha olika koder som liknar. I stället har en klass och använda andra metoder för att kalla dem och utöka funktionerna vid behov. Polymorfism tillåter programkod att ha olika innebörd eller funktioner medan inkapsling är processen att hålla klasser privata så att de inte kan ändras av externa koder.