Hva er OOP? - Prinsipper med eksempler - Fordeler ulemper

Innholdsfortegnelse:

Anonim

Hva er OOP?

Objektorientert programmering (eller OOP) er et paradigme for programmering der programmer skrives og struktureres rundt objekter i stedet for funksjoner eller logikk. Her er objekter definert som datafelt som har unike attributter og atferd. De inneholder data i form av attributter og prosedyrer i form av metoder. Objektprosedyrer kan få tilgang til og endre dataene som er til stede i et objekt.

Det er mange OOP-språk, hvor de mest populære er klassebaserte, der objekter vil være et eksempel på en klasse. En klasse er en beholder for data og prosedyrer, også kjent som datamedlemmer og medlemsfunksjoner. La oss betrakte et eksempel på et objekt som en bil. En bil har attributter som farge, merkenavn, drivstoffkapasitet, etc., og den har metoder for å representere atferden til en bil som en start, akselerere, bryte, etc. En klasse er en blåkopi av attributter og metoder og opptar ikke plass, til og med mindre det blir laget et objekt for den klassen.

Eksempel :

class car
(
char name(20); // name and colour are attributes
char colour(20);
public void start()() //start is a method
);
void main()
(
car c1; //c1 is an object
)

Objektorienterte programmeringsmål å implementere i programmering, enheter i den virkelige verden som arv, polymorfisme, innkapsling, etc. som vi vil se i detalj. Hovedmålet med OOP er å kollektivt binde data og funksjonene som fungerer på dem, slik at disse dataene bare er tilgjengelige av den funksjonen.

Prinsipper for OOP

De fire hovedprinsippene for objektorientert programmering er innkapsling, abstraksjon, arv og polymorfisme.

1. Innkapsling:

Binding av data og metoder til en enkelt enhet kalles innkapsling. Innkapsling oppnås når hvert objekt i klassen holder staten privat. Dataene i denne enheten er ikke tilgjengelige av objekter utenfor, og bare funksjonene i denne enheten har tilgang til den. Dermed administrerer objektet sin tilstand ved hjelp av metodene, og for å kommunisere med dette objektet, vil vi kreve hjelp fra de offentlige metodene i denne klassen.

2. Abstraksjon

Abstraksjon er en forlengelse av innkapsling. Det betyr å bare gi nødvendig informasjon til omverdenen mens du skjuler de interne detaljene i implementeringen. Den avslører bare de aktuelle operasjonene for andre objekter. Fordelen med dette er at vi kan endre implementeringen uten å påvirke klassen, da metodegrensesnittet forblir det samme.

La oss ta eksemplet med en kalkulator, som tar innspillet fra oss, og ved å trykke på en knapp, gir oss ønsket utdata, samtidig som vi sparer de interne detaljene om hvordan den har kommet frem til det svaret.

3. Arv

Ofte er objekter like i funksjonalitet, og deler deler av logikken, men avviker fra resten. Så hvordan bruker vi den vanlige logikken og skiller de forskjellige logikkene? Dette kan oppnås ved arv. I arv lager vi en ny klasse kalt som barneklasse som er avledet fra den eksisterende klassen kalt foreldreklassen, og danner dermed et hier0arki av klasser. Barneklassen gjenbruker datafeltene og metodene det krever fra foreldreklassen, og implementerer sin unike funksjonalitet på egen hånd.

For eksempel kan et kjøretøy være en foreldreklasse, hvor vi kan utlede barneklasser som sykkel og bil. De deler de vanlige egenskapene ved å kunne kjøre på drivstoff og frakte passasjerer, men avviker i antall passasjerer de kan frakte og flere slike egenskaper.

4. Polymorfisme

Polymorfisme er evnen til å ta mer enn én form. Anta at vi har en foreldreklasse og noen få barneklasser. Nå ønsker vi å bruke attributter fra både foreldre og barneklasser, så hvordan vil det oppnås? Dette kan gjøres ved hjelp av polymorfisme. I polymorfisme blir abstrakte enheter henrettet på flere måter. Det gir en måte å konsumere en klasse nøyaktig som foreldreklassen, slik at det ikke er noen forvirring med å blande typen klasser, og hver barneklasse fortsetter å holde sine metoder slik den var. Dette kan gjøres ved å bruke et overordnet grensesnitt slik at barneklassen kan implementere disse metodene i sin egen versjon.

Fordeler med objektorientert programmering

  • En ide fra den virkelige verden kan demonstreres, da alt i OOP blir behandlet som et objekt.
  • Når vi bruker begrepet innkapsling, er programmer enklere å teste og vedlikeholde.
  • Raskere utvikling av kode gjøres, ettersom vi utvikler parallelle klasser i stedet for sekvensielt.
  • OOP gir større sikkerhet på grunn av datainnsamling. Omverdenen får ikke tilgang til de skjulte dataene.
  • Gjenbrukbarhet kan oppnås ved å bruke klasser som allerede er skrevet.

Ulemper ved objektorientert programmering

  • Det kan være vanskelig å designe et program med OOP-konsept.
  • En programmerer må planlegge på forhånd for å utvikle et program i OOP.
  • Størrelsen på programmer utviklet med OOP er større enn de som er utviklet med en prosessuell tilnærming.
  • Siden OOP-programmer er større i størrelse, er utførelsestiden for disse programmene også mer.

Hvordan kan kunnskap om OOP hjelpe i karrierevekst?

Mange av de viktigste trendspråkene i disse dager, som Java og Ruby, bruker Objektorienterte programmeringskonsepter. OOP-språk hjelper deg med å skrive programvare for applikasjoner som mobil-, web- og spillapplikasjoner. Det er høy inntjening i disse feltene, som de beste jobbmulighetene for programmerere å ligge i disse feltene. Det er enkelt å gå inn i forskjellige teknologier og språk med det grunnleggende om OOP, og dermed utvider dette karriereutsiktene våre. En ulempe i dette skjer ekspertise. Vanligvis leter bedrifter etter praktisk erfaring innen OOP-språk og konsepter, så det anbefales å øve mens vi går langs læringsprosessen.

Konklusjon

Objektorientert programmering forenkler programmeringsprosessen for oss. Den har mange verdier som gjenbrukbarhet, effektivitet og vedlikehold av kode. Selv om det i utgangspunktet kan være vanskelig å forstå OOPs konsepter, forsikrer jeg deg at frukten vil være verdt innsatsen. Håper denne artikkelen hjalp til med å forenkle disse konseptene for deg!

Anbefalt artikkel

Dette har vært en guide til Hva er OOP? Her diskuterte vi begreper, definisjon og prinsipper med fordeler og ulemper ved OOP. Du kan også gå gjennom andre foreslåtte artikler for å lære mer -

  1. Er Hadoop Open Source?
  2. Hva er Java arv?
  3. Hva er multithreading i C #?
  4. Hva er ASP.Net Web Services?