- Objektorientert programmering
- Fordel med OOP fremfor prosedyreorientert programmeringsspråk
- Forskjellen mellom objektorientert og objektbasert programmeringsspråk.
På denne siden vil vi lære om det grunnleggende om OOPs. Objektorientert programmering er et paradigme som gir mange konsepter, som f.eks arv , databinding , polymorfisme , etc.
begynnelse regnes som det første objektorienterte programmeringsspråket. Programmeringsparadigmet hvor alt er representert som et objekt er kjent som et virkelig objektorientert programmeringsspråk.
Småprat regnes som det første virkelig objektorienterte programmeringsspråket.
De populære objektorienterte språkene er Java , C# , PHP , Python , C++ , etc.
Hovedmålet med objektorientert programmering er å implementere virkelige enheter, for eksempel objekt, klasser, abstraksjon, arv, polymorfisme, etc.
oppfølgerdatatyper
OOPs (objektorientert programmeringssystem)
Gjenstand betyr en virkelighet som en penn, stol, bord, datamaskin, klokke osv. Objektorientert programmering er en metodikk eller paradigme for å designe et program ved hjelp av klasser og objekter. Det forenkler programvareutvikling og vedlikehold ved å tilby noen konsepter:
Bortsett fra disse konseptene, er det noen andre begreper som brukes i objektorientert design:
- Kobling
- Samhold
- assosiasjon
- Aggregasjon
- Komposisjon
Gjenstand
Enhver enhet som har tilstand og atferd er kjent som et objekt. For eksempel en stol, penn, bord, tastatur, sykkel osv. Det kan være fysisk eller logisk.
Et objekt kan defineres som en forekomst av en klasse. Et objekt inneholder en adresse og tar opp litt plass i minnet. Objekter kan kommunisere uten å kjenne detaljene til hverandres data eller kode. Det eneste nødvendige er typen melding som aksepteres og typen respons som returneres av objektene.
Eksempel: En hund er en gjenstand fordi den har tilstander som farge, navn, rase osv. samt atferd som å logre med halen, bjeffe, spise osv.
Klasse
Samling av gjenstander kalles klasse. Det er en logisk enhet.
En klasse kan også defineres som en blåkopi som du kan lage et individuelt objekt fra. Klassen bruker ingen plass.
Arv
Når ett objekt erverver alle egenskapene og virkemåten til et overordnet objekt , er det kjent som arv. Det gir kodegjenbrukbarhet. Det brukes til å oppnå runtime polymorfisme.
Polymorfisme
Hvis en oppgave utføres på forskjellige måter , er det kjent som polymorfisme. For eksempel: å overbevise kunden annerledes, å tegne noe, for eksempel form, trekant, rektangel, etc.
I Java bruker vi metodeoverbelastning og metodeoverstyring for å oppnå polymorfisme.
Et annet eksempel kan være å si noe; for eksempel en katt snakker mjau, hund bjeffer voff osv.
Abstraksjon
Skjuler interne detaljer og viser funksjonalitet er kjent som abstraksjon. For eksempel telefonsamtale, vi kjenner ikke til den interne behandlingen.
I Java bruker vi abstrakt klasse og grensesnitt for å oppnå abstraksjon.
Innkapsling
Å binde (eller pakke) kode og data sammen til en enkelt enhet er kjent som innkapsling . For eksempel en kapsel, den er pakket inn med forskjellige medisiner.
En java-klasse er eksemplet på innkapsling. Java bean er den fullstendig innkapslede klassen fordi alle datamedlemmene er private her.
Kobling
Kobling refererer til kunnskapen eller informasjonen eller avhengigheten til en annen klasse. Det oppstår når klassene er oppmerksomme på hverandre. Hvis en klasse har detaljinformasjonen til en annen klasse, er det sterk kobling. I Java bruker vi private, beskyttede og offentlige modifikatorer for å vise synlighetsnivået til en klasse, metode og felt. Du kan bruke grensesnitt for den svakere koblingen fordi det ikke er noen konkret implementering.
Samhold
Kohesjon refererer til nivået til en komponent som utfører en enkelt veldefinert oppgave. En enkelt veldefinert oppgave gjøres med en svært sammenhengende metode. Den svakt sammenhengende metoden vil dele opp oppgaven i separate deler. Java.io-pakken er en svært sammenhengende pakke fordi den har I/O-relaterte klasser og grensesnitt. Imidlertid er java.util-pakken en svakt sammenhengende pakke fordi den har urelaterte klasser og grensesnitt.
assosiasjon
Assosiasjon representerer forholdet mellom objektene. Her kan ett objekt knyttes til ett objekt eller mange objekter. Det kan være fire typer assosiasjoner mellom objektene:
- En til en
- En til mange
- Mange til en, og
- Mange til mange
La oss forstå forholdet med sanntidseksempler. Et land kan for eksempel ha én statsminister (én til én), og en statsminister kan ha mange ministre (én til mange). Dessuten kan mange parlamentsmedlemmer ha én statsminister (mange til én), og mange ministre kan ha mange avdelinger (mange til mange).
Assosiasjon kan være ikke-direktiv eller toveis.
Aggregasjon
Aggregasjon er en måte å oppnå forening på. Aggregasjon representerer forholdet der ett objekt inneholder andre objekter som en del av sin tilstand. Det representerer det svake forholdet mellom objekter. Det kalles også en har en forhold i Java. Som, arv representerer er en forhold. Det er en annen måte å gjenbruke objekter på.
streng og java
Komposisjon
Sammensetningen er også en måte å oppnå Association. Komposisjonen representerer forholdet der ett objekt inneholder andre objekter som en del av sin tilstand. Det er et sterkt forhold mellom det inneholdende objektet og det avhengige objektet. Det er tilstanden der inneholdende objekter ikke har en uavhengig eksistens. Hvis du sletter det overordnede objektet, slettes alle underordnede objekter automatisk.
Fordel med OOP fremfor prosedyreorientert programmeringsspråk
1) OOPs gjør utvikling og vedlikehold enklere, mens det i et prosedyreorientert programmeringsspråk ikke er lett å administrere hvis koden vokser etter hvert som prosjektstørrelsen øker.
2) OOPs gir dataskjuling, mens i et prosedyreorientert programmeringsspråk kan globale data nås fra hvor som helst.
Figur: Datarepresentasjon i prosedyreorientert programmering
Figur: Datarepresentasjon i objektorientert programmering
3) OOPs gir muligheten til å simulere virkelige hendelser mye mer effektivt. Vi kan gi løsningen på et ekte ordproblem hvis vi bruker det objektorienterte programmeringsspråket.
Hva er forskjellen mellom et objektorientert programmeringsspråk og objektbasert programmeringsspråk?
Objektbasert programmeringsspråk følger alle funksjonene til OOP-er bortsett fra arv. JavaScript og VBScript er eksempler på objektbaserte programmeringsspråk.
Vet du?
- Kan vi overbelaste hovedmetoden?
- En Java Constructor returnerer en verdi, men hva?
- Kan vi lage et program uten hovedmetode?
- Hva er de seks måtene å bruke dette søkeordet på?
- Hvorfor støttes ikke multippel arv i Java?
- Hvorfor bruke aggregering?
- Kan vi overstyre den statiske metoden?
- Hva er den kovariante returtypen?
- Hva er de tre bruksområdene for Java supernøkkelord?
- Hvorfor bruke forekomstinitialiseringsblokk?
- Hva er bruken av en tom sluttvariabel?
- Hva er en markør eller et merket grensesnitt?
- Hva er runtime polymorfisme eller dynamisk metodeutsendelse?
- Hva er forskjellen mellom statisk og dynamisk binding?
- Hvordan nedkasting er mulig i Java?
- Hva er hensikten med en privat konstruktør?
- Hva er objektkloning?
- Fordel med OOPs
- Navnekonvensjon
- Objekt og klasse
- Metode overbelastning
- Konstruktør
- statisk nøkkelord
- dette søkeordet med seks bruk
- Arv
- Aggregasjon
- Metodeoverstyring
- Kovariant returtype
- super nøkkelord
- Forekomstinitialiseringsblokk
- siste søkeord
- Abstrakt klasse
- Grensesnitt
- Runtime polymorfisme
- Statisk og dynamisk binding
- Nedkasting med instans av operatør
- Pakke
- Tilgangsmodifikatorer
- Innkapsling
- Objektkloning