Java Abstraction - OOP: n masterointi Abstractionilla Javalla



Tämä Java-abstraktiota käsittelevä artikkeli auttaa sinua ymmärtämään abstraktin luokan ja käyttöliittymän käyttöä ja miten se saavutetaan abstraktion avulla.

Edellisessä blogissa olet oppinut Java-kielellä. Tässä blogissa ymmärrämme vielä yhden tärkeän pilarin ts. Java Abstraction, jonka päätoiminto on piilottaa sisäiset toteutustiedot.

Käsittelen alla mainittuja aiheita tässä artikkelissa:





Voit myös käydä läpi tämän äänityksen jossa voit ymmärtää aiheita yksityiskohtaisesti esimerkkien avulla.



Abstraktio OOP: ssa

Kun puhumme yleensä abstraktiosta, ohjelmistokieli on esimerkki abstraktista. Otetaan esimerkki ja kirjoitetaan lausunto

x = y + z

Yllä olevaan lauseeseen lisäämme kaksi muuttujaa, jotka on tallennettu kahteen eri paikkaan, ja sitten tallennamme tuloksen uuteen sijaintiin. Joten mitä tapahtuu seuraavaksi? Kuten ehkä tiedät, mukana on rekistereitä, käskyjoukkoja, ohjelmalaskureita, tallennusyksiköitä jne. Kun viitataan Java-abstraktioon, puhumme abstraktiosta sisään ja miten se saavutetaan. Abstraktion käsite OOP: ssa alkaa heti, kun luokka suunnitellaan. Abstraktiota käytetään kaikkialla ohjelmistoissa ja OOP: ssa.



Mikä on Java-abstraktio?

Abstraktio on vain laatua käsitellä ideoita eikä tapahtumia. Se käsittelee periaatteessa sisäisten yksityiskohtien piilottamista ja olennaisten asioiden näyttämistä käyttäjälle.

Soittaminen - Java Abstraction -Edureka

Jos katsot yllä olevaa gifiä, näet, kun saat puhelun, saamme vaihtoehdon joko noutaa tai vain hylätä se. Mutta todellisuudessa taustalla on paljon koodia. Joten tässä, et tiedä sisäistä prosessointia siitä, miten puhelu syntyy, se on abstraktin kauneus. Voit saavuttaa abstraktion kahdella tavalla:

a) Abstrakti luokka

b) Liitäntä

Ymmärretään nämä käsitteet tarkemmin.

Abstrakti luokka

Abstrakti luokka sisältää avainsanan abstrakti. Mutta mitä se tarkalleen tarkoittaa? Jos teet luokan abstraktiksi, sitä ei voida instantisoida, toisin sanoen et voi luoda abstraktin luokan objektia. Abstrakti luokka voi sisältää sekä abstrakteja että konkreettisia menetelmiä.

Huomautus: Voit saavuttaa 0-100% abstraktion käyttämällä abstraktia luokkaa.

Abstraktin luokan käyttämiseksi sinun on perittävä se perusluokalta. Täällä sinun on tarjottava toteutuksia abstrakteille menetelmille, muuten siitä tulee abstrakti luokka.

Tarkastellaan abstraktin luokan syntaksia:

Abstrakti luokan urheilu {// abstrakti luokan urheilu Abstrakti void jump () // abstrakti menetelmä}

Käyttöliittymä

Java-käyttöliittymä on kokoelma abstrakteja menetelmiä ja staattisia vakioita. Kuten rajapinnasta saatat tietää, kukin menetelmä on julkinen ja abstrakti, mutta se ei sisällä konstruktoria. Abstraktion lisäksi käyttöliittymä auttaa myös saavuttamaan useita perintöjä Javaissa.
Huomautus: Voit saavuttaa 100% abstraktion käyttöliittymien avulla.

Pohjimmiltaan Interface on joukko toisiinsa liittyviä menetelmiä, joissa on tyhjät kappaleet. Ymmärretään rajapinnat ottamalla esimerkki Shape-käyttöliittymästä ja siihen liittyvistä menetelmistä.

julkisen käyttöliittymän muoto {public void draw () public double getArea ()}

Näiden menetelmien on oltava läsnä kaikissa 'muodoissa', eikö? Mutta heidän työnsä tulee olemaan erilainen.

Oletetaan, että haluat piirtää muodon, esimerkiksi ympyrän, neliön, suorakulmion jne. Tiedät jo, että jokaisella muodolla on omat mitat, kuten säde, korkeus ja leveys. Sano, että haluan piirtää ympyrän ja laskea sen pinta-alan. Samasta syystä olen luonut kaksi menetelmää yllä olevaan koodiin eli piirtää () ja getArea (). Näiden menetelmien avulla voin nyt piirtää minkä tahansa muodon ja laskea alueen toteuttamalla sen käyttöliittymän.

Tarkastellaan nyt tämän käyttöliittymän käyttöönottoa.
Tämän käyttöliittymän toteuttamiseksi luokkasi nimi muuttuisi mihin tahansa muodosta, sanotaan 'ympyrä'. Joten luokan käyttöliittymän toteuttamiseksi käytän avainsanaa ”toteuttaa”:

julkisen luokan ympyrä toteuttaa muodon {yksityinen kaksinkertainen säde julkinen ympyrä (kaksinkertainen r) {this.radius = r} mitätön piirtäminen () {System.out.println ('piirustuspiiri')} julkinen kaksinkertainen getArea () {return Math.PI * this.radius * this.radius} public double getRadius () {return this.radius}} public class Test {public static void main (String args []) {Shape c = new Circle (8) c.draw () System. out.println ('Area =' + c.getArea ())}}

Edellä olevassa esimerkissä olen määritellyt toiminnot eri menetelmille ja ympyrän lasketulle alueelle. Tässä käyttöliittymän käyttöönotossa se antaa luokan tulla muodollisemmaksi sen tarjoamasta käyttäytymisestä. Voit myös luoda toisen luokan, esimerkiksi ”Suorakulmio” -luokan, joka voi periä saman käyttöliittymän ”muodon” eri toiminnoilla.

Reaaliaikainen esimerkki abstraktista jaavasta

Oletetaan, että meillä on Sport käyttöliittymänä. Täällä toteutuksen tarjoavat luokat nimeltä sulkapallo ja jalkapallo. Todellisessa skenaariossa loppukäyttäjä ei ole tietoinen toteutusluokasta. Täten toteutusluokan objekti voidaan antaa tehdasmenetelmällä. Tehdasmenetelmää voidaan käyttää toteutusluokan objektin luomiseen jonkin kriteerin perusteella.
Toteutetaan sama ja luodaan Sport.java-niminen käyttöliittymä.

julkinen käyttöliittymäurheilu {void play ()} // Luomme nyt luokan nimeltä sulkapallo. julkinen luokka sulkapallo toteuttaa urheilua. {@Override public void play () {System.out.println ('sulkapalloa pelaava')}} // Seuraavaksi luodaan viimeisen luokan 'Jalkapallo' julkinen luokka Jalkapallo toteuttaa urheilua {@Override public void play () {System.out.println ('Footballing')

Viimeinen vaihe on luoda pääluokka nimeltä SportInterface.

public SportInterface {public static void main (String args []) {// koodisi täällä}}

Kun suoritat yllä olevan ohjelman, lähtö on seuraava:

linux-järjestelmänvalvojan roolit ja vastuut
Sulkapallon pelaaminen ------------------- Pelaaminen jalkapalloa

Toivon, että teillä on selvä käyttöliittymä ja miten voit saavuttaa abstraktion sitä käyttämällä. Lopetetaan nyt artikkeli vertaamalla abstraktiota ja kapselointia.

Abstraktio vs kapselointi

Abstraktio Kapselointi
Ratkaisee ongelman suunnittelutasollaRatkaisee ongelman toteutustasolla
Käytetään piilottamaan ei-toivotut tiedot ja antamaan asiaankuuluvia tuloksiaKapselointi tarkoittaa koodin ja tietojen piilottamista yhdeksi yksiköksi tietojen suojaamiseksi ulkomaailmalta
Ulkoasettelu - käytetään suunnittelun kannaltaSisäinen asettelu - käytetään toteutuksen kannalta

Toivon, että ymmärrät eron abstraktion ja kapseloinnin välillä. Tämän avulla olemme päässeet Java Abstraction -blogiin. Toivottavasti pidit siitä informatiivisena ja auttoi lisäämään tietosi arvoa. Jos haluat oppia lisää Java: sta, voit viitata

Nyt kun olet ymmärtänyt 'Mikä on Java-abstraktio', tutustu Edureka, luotettava verkko-oppimisyritys, jolla on yli 250 000 tyytyväisen oppijan verkosto, joka levisi ympäri maailmaa. Edurekan Java J2EE- ja SOA-koulutus- ja sertifiointikurssi on suunniteltu opiskelijoille ja ammattilaisille, jotka haluavat olla Java-kehittäjiä. Kurssi on suunniteltu antamaan sinulle etumatka Java-ohjelmointiin ja kouluttamaan sekä ydin- että edistyneitä Java-konsepteja sekä erilaisia ​​Java-kehyksiä, kuten Hibernate & Spring.

Onko sinulla kysymys meille? Mainitse se tämän 'Java Abstraction' -blogin kommenttiosassa ja otamme sinuun yhteyttä mahdollisimman pian.