Java Abstraction - Obvladovanje OOP z abstrakcijo v Javi



Ta članek o Java Abstraction vam bo pomagal razumeti uporabo abstraktnega razreda in vmesnika ter kako to doseči z abstrakcijo.

V prejšnjem blogu ste izvedeli več o tem v Javi. Zdaj v tem blogu bomo razumeli še en pomemben steber tj. Java Abstraction, katere glavna funkcionalnost je skrivanje notranjih podrobnosti izvedbe.

V tem članku bom obravnaval spodaj omenjene teme:





Lahko si ogledate tudi ta posnetek kjer lahko teme natančno razumete s primeri.



Abstrakcija v OOP

Ko na splošno govorimo o abstrakciji, je programski jezik primer abstrakcije. Vzemimo primer in napišite izjavo kot-

x = y + z

kaj je metoda tostring v javi

V zgornji izjavi dodajamo dve spremenljivki, ki sta shranjeni na dveh različnih lokacijah, nato pa rezultat shranimo na novo lokacijo. Kaj se zgodi potem? Kot morda že veste, so vpleteni registri, nabori ukazov, števci programov, pomnilniške enote itd. Ko govorimo o abstrakciji v Javi, govorimo o abstrakciji v in kako je to doseženo. Koncept abstrakcije v OOP se začne ravno v trenutku, ko je pouk zasnovan. Abstrakcija se uporablja povsod v programski opremi in OOP.



Kaj je abstrakcija Java?

Abstrakcija ni nič drugega kot kakovostno obravnavanje idej in ne dogodkov. V bistvu se ukvarja s skrivanjem notranjih podrobnosti in prikazovanjem bistvenih stvari uporabniku.

Klicanje - Java Abstraction -Edureka

Če pogledate zgornji gif, lahko vidite, kdaj dobite klic, dobimo možnost, da ga bodisi dvignete bodisi preprosto zavrnete. Toda v resnici je v ozadju veliko kode. Torej tukaj ne poznate notranje obdelave, kako se generira klic, v tem je lepota abstrakcije. Abstrakcijo lahko dosežete na dva načina:

a) Povzetek

b) Vmesnik

Razumejmo te koncepte podrobneje.

Povzetek

Razred Povzetek vsebuje ključno besedo „abstraktno“. Kaj pa natančno pomeni? Če naredite razred abstraktnega, ga ni mogoče ustvariti, tj. Ne morete ustvariti predmeta abstraktnega razreda. Abstraktni razred lahko vsebuje tudi abstraktne in konkretne metode.

Opomba: Z abstraktnim razredom lahko dosežete 0-100% abstrakcije.

Če želite uporabiti abstraktni razred, ga morate podedovati iz osnovnega razreda. Tukaj morate zagotoviti izvedbe abstraktnih metod, sicer bo to abstraktni razred.

Poglejmo sintakso abstraktnega razreda:

Abstraktni tečaj Šport {// abstraktni tečaj športa Abstract void jump () // abstraktna metoda}

Vmesnik

Vmesnik v Javi je zbirka abstraktnih metod in statičnih konstant. Kot morda veste v vmesniku, je vsaka metoda javna in abstraktna, vendar ne vsebuje nobenega konstruktorja. Vmesnik poleg abstrakcije pomaga tudi pri večkratnem dedovanju v Javi.
Opomba: Z vmesniki lahko dosežete 100% abstrakcijo.

primerjava soli lutkovnega kuharja

V bistvu je vmesnik skupina sorodnih metod s praznimi telesi. Razumejmo vmesnike, tako da vzamemo primer vmesnika Shape s pripadajočimi metodami.

oblika javnega vmesnika {public void draw () public double getArea ()}

Te metode morajo biti prisotne v vsaki 'obliki', kajne? Toda njihovo delo bo drugačno.

Predpostavimo, da želite narisati obliko, recimo krog, kvadrat, pravokotnik itd. Že veste, vsaka oblika ima svoje dimenzije, kot so polmer, višina in širina. Recimo, da želim narisati krog in izračunati njegovo površino. Glede na isto sem v zgornji kodi ustvaril dve metodi, tj. Draw () in getArea (). Zdaj lahko s pomočjo teh metod narišem poljubno obliko in izračunam površino z uporabo njenega vmesnika.

Zdaj pa poglejmo funkcionalnost, kako lahko uporabite ta vmesnik.
Za izvedbo tega vmesnika bi se ime vašega predavanja spremenilo v katero koli obliko, recimo »Krog«. Torej, za izvedbo vmesnika razreda bom uporabil ključno besedo 'Implementiraj':

javni razred Circle implementira obliko {private double radius public Circle (double r) {this.radius = r} void draw () {System.out.println ('Drawing Circle')} public double getArea () {return Math.PI * this.radius * this.radius} javni dvojni getRadius () {vrni this.radius}} preizkus javnega razreda {public static void main (String args []) {Shape c = new Circle (8) c.draw () System. out.println ('Area =' + c.getArea ())}}

V zgornjem primeru sem določil funkcionalnosti za različne metode in izračunano površino kroga. Tu pri uvajanju vmesnika razredu omogoča bolj formalno vedenje, ki ga ponuja. Ustvarite lahko tudi drug razred, recimo razred »Pravokotnik«, ki lahko podeduje enako obliko vmesnika z različnimi funkcionalnostmi.

za kaj se uporablja lutka

Primer abstrakcije v realnem času v javi

Recimo, da imamo Sport kot vmesnik. Tu bodo izvedbo izvajali razredi, imenovani “Badminton” in “Nogomet”. V resničnem primeru končni uporabnik ne bo vedel za razred izvedbe. Zato lahko objekt izvedbenega razreda zagotovimo s tovarniško metodo. Tovarniško metodo lahko uporabimo za ustvarjanje predmeta izvedbenega razreda na podlagi nekega merila.
Izvedimo enako in ustvarimo vmesnik z imenom Sport.java.

javni vmesnik Sport {void play ()} // Zdaj bomo ustvarili razred z imenom 'Badminton' javni razred Badminton izvaja Sport {@Override public void play () {System.out.println ('Playing badminton')}} // Nato ustvarimo svoj zadnji razred »Nogomet«, javni razred Nogomet izvaja šport {@Override public void play () {System.out.println ('Playing football')}

Zadnji korak je ustvariti glavni razred z imenom 'SportInterface'.

javni SportInterface {public static void main (String args []) {// vaša koda tukaj}}

Ko zaženete zgornji program, bo rezultat prikazan spodaj:

Igranje badmintona ------------------- Igranje nogometa

Upam, da vam je vmesnik jasen in kako lahko z njim dosežete abstrakcijo. Zdaj pa zaključimo ta članek s primerjavo abstrakcije in enkapsulacije.

Abstrakcija vs enkapsulacija

Abstrakcija Kapsulacija
Rešitev problema na ravni zasnoveRešuje problem na ravni izvajanja
Uporablja se za skrivanje neželenih podatkov in dajanje ustreznih rezultatovKapsulacija pomeni skrivanje kode in podatkov v eno samo enoto za zaščito podatkov pred zunanjim svetom
Zunanja postavitev - uporabljena v smislu oblikovanjaNotranja postavitev - uporabljena v smislu izvedbe

Upam, da ste razumeli razliko med abstrakcijo in enkapsulacijo. S tem se na blogu Java Abstraction končujemo. Upam, da se vam je zdel informativen in je pripomogel k dodajanju vrednosti vašemu znanju. Če želite izvedeti več o Javi, se lahko obrnete na

Zdaj, ko ste razumeli “Kaj je abstrakcija Java”, si oglejte Edureka, zaupanja vredno podjetje za spletno učenje z mrežo več kot 250.000 zadovoljnih učencev, razširjenih po vsem svetu. Edurekin tečaj za usposabljanje in certificiranje Java J2EE in SOA je namenjen študentom in strokovnjakom, ki želijo biti razvijalec Java. Tečaj je zasnovan tako, da vam omogoči uvod v programiranje Java in vas usposobi za osnovne in napredne koncepte Java, skupaj z različnimi Java okviri, kot so Hibernate & Spring

Imate vprašanje za nas? Prosimo, omenite ga v oddelku za komentarje tega bloga 'Java Abstraction' in v najkrajšem možnem času se vam bomo oglasili.