Welcome to Our Website

OOPs konsepter i Java

Objekt-orientert programmering System(OOPs) er en programmerer paradigme basert på konseptet av «objekter» som inneholder data og metoder. Det primære formålet med objekt-orientert programmering er å øke fleksibilitet og vedlikehold av programmer. Objekt-orientert programmering bringer sammen data og dens atferd(metoder) i en enkelt plassering(objekt) gjør det lettere å forstå hvordan programmet virker. Vi vil dekke hver funksjon i OOPs i detalj, slik at du ikke står overfor noe vanskelig å forstå OOPs Konsepter.,

OOPs Konsepter – Innholdsfortegnelse

– >

  1. Hva er et Objekt
  2. Hva er en klasse
  3. Konstruktør i Java
  4. Objekt Orientert Programmering Funksjoner
    • Abstraksjon
    • Innkapsling
    • Arv
    • Polymorphism
  5. Abstrakt Klasse og Metoder
  6. Grensesnitt i Java

Hva er et Objekt


Objekt: er en samling av data og dens atferd(ofte kjent som metoder).

Objekter har to kjennetegn: De har stater og atferd.,

Eksempler på stater og atferd
Eksempel 1:
Objekt: Hus
State: Adresse, Farge, Areal
Problemet: Åpen dør, lukk deksel

Så hvis jeg hadde å skrive en klasse basert på stater og atferd av Huset. Jeg kan gjøre det som dette: Stater som kan bli representert som eksempel variabler og atferd som metoder i klassen. Vi vil se hvordan å opprette klasser i den neste delen av denne guiden.

class House { String address; String color; double are; void openDoor() { //Write code here } void closeDoor() { //Write code here } ... ...}

Merk: Som vi har sett ovenfor, usa og atferd av et objekt, kan være representert av variabler og metoder i klassen henholdsvis.,

Egenskaper om Objekter:

Hvis du finner det vanskelig å forstå Abstraksjoner og Innkapsling, ikke bekymre deg, som jeg har dekket disse emnene i detalj med eksempler i neste avsnitt av denne håndboken.

  1. Abstraksjon
  2. Innkapsling
  3. Melding passerer

Abstraksjon: Abstraksjon er en prosess der du viser bare «relevant» data og «skjule» unødvendige detaljer av et objekt fra brukeren.

Innkapsling: Innkapsling betyr bare bindende objekt state(felt) og atferd(metoder) sammen. Hvis du oppretter klasse, du gjør innkapsling.,

Melding passerer
Et enkelt objekt i seg selv kan ikke være veldig nyttig. Et program inneholder mange objekter. Ett objekt i samspill med et annet objekt ved å ta i bruk metoder på det aktuelle objektet. Det er også referert til som Metode Bruken. Se diagrammet nedenfor.

Hva er en Klasse i OOPs Konsepter

En klasse kan betraktes som en blåkopi ved hjelp som du kan opprette så mange objekter som du liker. For eksempel, her har vi en klasse Website som har to data medlemmer (også kjent som felt, for eksempel variabler og byer.)., Dette er bare en skisse, det representerer ikke noen hjemmeside, men ved hjelp av denne kan vi lage Nettsiden objekter (eller forekomster) som representerer nettsteder. Vi har opprettet to objekter, mens du oppretter objekter vi gitt separate egenskaper til objekter ved hjelp av konstruktøren.

Output:

beginnersbook 5google 18

Hva er en Konstruktør

Constructor ser ut som en metode, men det er faktisk ikke en metode. Det navnet er det samme som klasse navn, og det gjør ikke returnere noen verdi., Du må ha sett denne uttalelsen i nesten alle programmer jeg har delt ovenfor:

MyClass obj = new MyClass();

Hvis du ser på høyre side av denne erklæringen, vi ringer standard konstruktør av klasse myClass for å opprette et nytt objekt (eller et eksempel).

Vi kan også ha parametere i constructor, slik konstruktører er kjent som parametrized konstruktører.,

Eksempel på constructor

Output:

Chaitanya 30Steve 56

Objekt Orientert Programmering funksjoner


Disse fire funksjonene er de viktigste OOPs Konsepter som du må lære å forstå objektorientert Programmering i Java

Abstraksjon

Abstraksjon er en prosess der du viser bare «relevant» data og «skjule» unødvendige detaljer av et objekt fra brukeren., For eksempel, når du logger inn på din bankkonto på nettet, kan du skrive inn din user_id og passord, og trykk på logg inn, hva som skjer når du trykker på logg inn, hvordan input data sendt til serveren, hvordan det blir bekreftet er alle abstraheres bort fra deg. Les mer om det her: Abstraksjon i Java.

Innkapsling

– Innkapsling betyr bare bindende objekt state(felt) og atferd(metoder) sammen. Hvis du oppretter klasse, du gjør innkapsling.,

Innkapsling eksempel i Java

Hvordan
1) Gjør eksempel variabler private, slik at de ikke kan nås direkte fra utenfor klassen. Du kan bare stille og få verdier på disse variablene gjennom metoder for klassen.
2) Har getter og setter metoder i klassen for å få verdiene i feltene.

Output:

No Of Employees: 5613

klassen EncapsulationExample som bruker Objekt av klasse EmployeeCount vil ikke i stand til å få NoOfEmployees direkte., Det har å bruke fuglehunden og getter metoder av samme klasse, og får valuta.
Så hva er fordelen med innkapsling i java-programmering
Vel, på et eller annet tidspunkt, dersom du ønsker å endre gjennomføringen detaljer av klasse EmployeeCount, kan du fritt gjøre dette uten at det påvirker klasser som bruker det.

Arv

Den prosessen som en klasse kjøper egenskapene og funksjonaliteten til en annen klasse kalles arv., Arv gir inntrykk av reusability av kode, og hver sub-klassen definerer bare de funksjoner som er unike for det, resten av funksjonene som kan arves fra den overordnede klasse.

  1. Arv er en prosess med å definere en ny klasse, basert på en eksisterende klasse ved å utvide sin felles data-medlemmer og metoder.
  2. Arv og gir oss mulighet til gjenbruk av kode, det forbedrer reusability i din java-program.
  3. Den overordnede klasse kalles base-klasse eller super klasse. Barnet klasse som utvider base-klasse kalles avledet klasse-eller sub-klasse eller barnet klassen.,

Merk: Den største fordelen med Arv er at koden i base class trenger ikke være omskrevet i barnets klasse.
variabler og metoder av base-klassen kan brukes i barn klasse som godt.

Syntaks: Arv i Java

for Å arve en klasse bruker vi strekker seg søkeord. Her er klasse A er barn klasse og klasse B er overordnet klasse.

class A extends B{}

Arv Eksempel

I dette eksempelet har vi en overordnet klasse Teacher og et barn klasse MathTeacher., I MathTeacher klasse vi trenger ikke å skrive inn den samme koden som allerede er tilstede i nåtiden klasse. Her har vi college navn, betegnelse og ikke() metode som er felles for alle lærere, og dermed MathTeacher klasse ikke trenger å skrive inn denne koden, felles data-medlemmer og metoder kan arvet fra Teacher klasse.,

Output:

BeginnersbookTeacherMathsTeaching

Merk: Multi-level arv er tillatt i Java, men ikke flere arv

Typer Arv:
Enkel Arv: refererer til et barn og foreldre klasse forhold hvor en klasse som utvider en annen klasse.

Multilevel arv: refererer til et barn og foreldre klasse forhold hvor en klasse som utvider barnet klassen. For eksempel klasse A utvider klasse B og klasse B utvider klasse C.,

Hierarkisk arv: refererer til et barn og foreldre klasse forhold der mer enn én klasser strekker seg samme klasse. For eksempel, klasse B utvider klasse A og klasse C strekker klasse A.

Flere Arv: refererer til begrepet av en klasse som strekker seg mer enn én klasser, noe som betyr at et barn klasse har to foreldre klasser. Java ikke støtter flere arv, les mer om det her.

de Fleste av de nye OO språk som Small Talk, Java, C# ikke støtte Flere arv. Flere Arv er støttet i C++.,

Polymorphism

Polymorphism er et objekt-orientert programmering funksjon som gjør det mulig for oss å utføre en enkelt handling på forskjellige måter. For eksempel, la oss si at vi har en klasse Animal som har en metode animalSound(), her kan vi ikke gi, implementering og til denne metoden som vi ikke vet hvilket Dyr klasse ville utvide Animal klasse., Så, vi gjør denne metoden abstrakt som dette:

public abstract class Animal{ ... public abstract void animalSound();}

la oss Nå anta at vi har to Dyr klasser Dog og Lion som strekker seg Animal klasse. Vi kan gi gjennomføringen detalj det.

public class Lion extends Animal{... @Override public void animalSound(){ System.out.println("Roar"); }}

og

public class Dog extends Animal{... @Override public void animalSound(){ System.out.println("Woof"); }}

Som du kan se at selv om vi hadde felles tiltak for alle underklasser animalSound() men det var ulike måter å gjøre den samme handlingen., Dette er et perfekt eksempel på polymorphism (funksjon som gjør det mulig for oss å utføre en enkelt handling på forskjellige måter).

Typer Polymorphism
1) Statisk Polymorphism
2) Dynamisk Polymorphism

Statisk Polymorphism:

Polymorphism som er løst i løpet av kompilatoren tid er kjent som statisk polymorphism. Metoden overbelastning kan betraktes som statisk polymorphism eksempel.
Metode Overbelastning: Dette gir oss muligheten til å ha mer enn én metoder med samme navn i en klasse som er forskjellig i signatur.,

Output:

aa 10

Når jeg sier metode signatur jeg snakker ikke om å gå tilbake type metode, for eksempel hvis to metodene har samme navn, samme parametere og har forskjellige retur-type, så dette er ikke en gyldig metode overbelastning eksempel. Dette vil kaste kompileringsfeil.

Dynamisk Polymorphism

Det er også kjent som Dynamisk Metode Utsendelse. Dynamisk polymorphism er en prosess der et anrop til en overstyres metoden er løst ved kjøring heller, det er derfor det kalles runtime polymorphism.,

Eksempel

Output:

Woof

Siden begge klasser, barn klasse og overordnet klasse har samme metode animalSound. Hvilken metode vil bli kalt bestemmes ved kjøring av java virtual machine.

Få mer overordnede eksempler:

ER EN & HAR-EN-Relasjoner

En Bil ER ET Kjøretøy, og HAR EN Lisens, så koden ville se ut som dette:

public class Vehicle{ }public class Car extends Vehicle{ private License myCarLicense;}

Abstrakt Klasse og metoder i OOPs Konsepter

Abstrakt metode:
1) En metode som er erklært men som ikke er definert. Eneste metoden signatur ingen kropp.,
2) Erklært å bruke abstrakte søkeord
3) Eksempel :

abstract public void playInstrument();

5) Brukes til å sette noen form for tvang på klasse som arver klassen har abstrakte metoder. Den klassen som arver må gi gjennomføring av alle abstrakte metoder for overordnet klasse annet erklære underklassen som abstrakte.
6) Disse kan være abstrakt

  • Konstruktører
  • Statiske metoder
  • Privat metoder
  • Metoder som er deklarert «endelige»

Abstrakt Klasse
En abstrakt klasse beskriver de metoder, men ikke nødvendigvis implementerer alle metodene.,

abstract class A{ abstract void myMethod(); void anotherMethod(){ //Does something }}

Merk 1: Det kan være enkelte tilfeller der det er vanskelig å implementere alle metodene i basen klasse. I slike scenarier kan man definere base-klasse som en abstrakt klasse som betyr at denne basen klasse er en spesiell type klasse som ikke er fullstendig på sin egen.

En klasse som er avledet fra det abstrakte base-klassen må implementere de metoder som ikke er implementert(betyr at de er abstrakte) i en abstrakt klasse.

Merk 2: Abstrakt klasse kan ikke være startet som betyr at du kan ikke opprette objektet av abstrakt klasse., For å bruke denne klassen, må du opprette en annen klasse som strekker seg denne abstrakte klassen gir gjennomføringen av abstrakte metoder, så kan du bruke objektet av at barnet klassen til å kalle ikke-abstrakte overordnet klasse metoder samt implementert metoder(de som var sammendrag foreldre, men er implementert i barnet klassen).

Merk 3: Hvis et barn ikke implementere alle abstrakte metoder for overordnet klasse(abstrakt klasse), så barnet klassen må behovet for å bli erklært abstrakt.,

Eksempel på en Abstrakt klasse og Metoder

Her har vi en abstrakt klasse Dyr som har en abstrakt metode animalSound(), siden dyr lyden er forskjellig fra en dyr til en annen, det er ingen vits i å gi gjennomføringen til denne metoden som alle barn klasse må overstyre denne metoden til å gi sin egen implementering detaljer. Det er derfor vi har gjort det abstrakte.
Nå hvert dyr må ha en lyd, ved å gjøre denne metoden abstrakt vi gjort det obligatorisk for barnet klassen til å gi gjennomføring detaljer til denne metoden. På denne måten er vi sørger for at alle dyr har en lyd.,

Output:

Woof

– Grensesnitt i Java

Et grensesnitt som er en blåkopi av en klasse, som kan deklareres ved å bruke grensesnitt søkeord. Grensesnitt kan bare inneholde konstanter og abstrakte metoder (metoder med bare signaturer ingen kropp).Liker abstrakte klasser, Grensesnitt kan ikke være lagt, kan de bare bli gjennomført av klasser eller utvidet av andre grensesnitt. Grensesnittet er en vanlig måte å oppnå full abstraksjon i Java.,

Merk:

  1. Java ikke støtter Flere Arv, men en klasse kan implementere mer enn ett grensesnitt
  2. Grensesnitt er lik en abstrakt klasse, men den inneholder bare abstrakte metoder.,
  3. Grensesnitt som er opprettet ved hjelp av grensesnitt søkeord i stedet for søkeordet klasse
  4. Vi bruke implements søkeord mens du implementerer et grensesnitt(tilsvarende for å utvide en klasse med strekker seg søkeord)

Grensesnitt: Syntaks

class ClassName extends Superclass implements Interface1, Interface2, ....

Eksempel på Brukergrensesnitt:

Merk:

  1. Alle metoder i et grensesnitt som er implisitt i offentlig og abstrakt. Ved hjelp av søkeord abstract før hver metode er valgfritt.
  2. Et grensesnitt kan inneholde endelige variabler.,
  3. En klasse kan forlenge bare en annen klasse, men det kan implementere en rekke grensesnitt.
  4. Når en klasse som implementerer et interface det har å gi definisjonen av alle abstrakte metoder for grensesnitt, ellers kan det bli erklært som abstrakt klasse
  5. Et grensesnitt som referanse kan peke til objekter av de implementerende klasser.

Generalisering og Spesialisering:
for å implementere konseptet av arv i en OOPs, må man først identifisere likheter mellom ulike klasser, slik som å komme opp med base klasse.,

Denne prosessen med å identifisere likheter mellom ulike klasser kalles Generalisering. Generalisering er prosessen med å trekke ut felles egenskaper fra to eller flere klasser, og å kombinere dem i en generalisert superclass. Felles kjennetegn kan være egenskaper eller metoder.

I motsetning til generalisering, spesialisering betyr å skape nye underklasser fra en eksisterende klasse. Hvis det viser seg at visse egenskaper eller metoder eller bare gjelder for enkelte av objektene av klassen, en underklassen kan opprettes.,

Tilgang Specifiers

Vel, du må ha sett offentlig, privat søkeord i eksemplene jeg har delt ovenfor. De kalles tilgang specifiers de bestemmer omfanget av en data-medlem, metode eller klasse.

Det er fire typer tilgang specifiers i java:
offentlige: Tilgjengelig for alle. Andre objekter kan også få tilgang til denne medlem variabel eller funksjon.
privat: Ikke tilgjengelig med andre objekter. Private medlemmer, som kan nås bare ved metodene i samme klasse. Objekt som bare er tilgjengelig i klasse i som de blir vedtatt.,
beskyttet: omfanget av en beskyttet variabel er i klassen som erklærer det og i den klasse som arver fra klassen (Scope er klasse og underklassen).
Standard: Omfang er Pakken Nivå. Vi trenger ikke å eksplisitt nevne standard som når vi ikke nevne noen tilgang specifier er det regnet som standard.,

Hva vil vi vite i neste tutorials på OOPs Konsepter

Selv om vi har dekket nesten alle OOPs begreper her, men uansett hva vi har lært i denne håndboken, er i korte trekk, disse temaene er store og det er så mye rom for å lære disse emnene i detalj ved hjelp av eksempler. Det er derfor jeg har dekket hver eneste emnet i detalj sammen med eksempler og diagrammene i de neste tutorials.
Hvordan kan du lese neste tutorials på en sekvensiell måte? Det er to måter å gjøre det på – 1) Opplæringen koblingene er gitt i venstre sidebar, gå om dem i gitt rekkefølge.,
2) Gå til de viktigste java tutorial side som har alle lenker til opplæring i sekvensiell måte.
Hvis du finner noen problemer med å forstå disse OOPs Konsepter slipp en kommentar nedenfor og jeg vil komme tilbake til deg så snart som mulig.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *