Abstraktio sisään Java
Mitä abstraktio sisältää Java?
Abstraktio on olio-ohjelmoinnin käsite, joka "näyttää" vain olennaiset attribuutit ja "piilottaa" tarpeettoman tiedon. Abstraktion päätarkoituksena on piilottaa käyttäjiltä tarpeettomat yksityiskohdat. Abstraktio on tietojen valitsemista suuremmasta poolista näyttääkseen käyttäjälle vain objektin olennaiset tiedot. Se auttaa vähentämään ohjelmoinnin monimutkaisuutta ja ponnisteluja. Se on yksi OOP:n tärkeimmistä käsitteistä.
Napauta tätä jos video ei ole saatavilla
Tutkitaan abstraktiota OOP:issa esimerkin avulla:
Oletetaan, että haluat luoda pankkisovelluksen ja sinua pyydetään keräämään kaikki tiedot asiakkaastasi. On mahdollista, että saat seuraavat tiedot asiakkaasta
Kaikkia yllä olevia tietoja ei kuitenkaan vaadita pankkisovelluksen luomiseen. Joten sinun on valittava vain hyödylliset tiedot pankkisovellus tuolta altaalta. Tiedot, kuten nimi, osoite, verotiedot jne. ovat järkeviä pankkisovelluksessa, joka on abstraktioesimerkki OOP:issa
Koska olemme hakeneet/poistaneet/valineet asiakastiedot suuremmasta poolista, prosessia kutsutaan nimellä abstraktio Oho. Poimittuaan samoja tietoja voidaan kuitenkin käyttää monenlaisiin sovelluksiin. Voit käyttää samoja tietoja esimerkiksi sairaalahakemukseen, työportaalihakemukseen, valtion tietokantaan jne. vähäisin tai ilman muutoksia. Tästä syystä siitä tulee perustietosi. Tämä on OOP:n abstraktion etu.
Ero abstraktion ja kapseloinnin välillä
Abstraktio | kapselointi |
---|---|
Olioohjelmoinnin abstraktio ratkaisee ongelmat suunnittelutasolla. | Kapselointi ratkaisee sen toteutustason. |
Abstraction in ohjelmointi tarkoittaa ei-toivottujen yksityiskohtien piilottamista ja samalla tärkeimpien tietojen näyttämistä. | Kapselointi tarkoittaa koodin ja datan sitomista yhdeksi yksiköksi. |
Tietojen abstraktio sisään Java mahdollistaa keskittymisen siihen, mitä tietoobjektin pitää sisältää | kapselointi tarkoittaa sisäisten yksityiskohtien tai mekaniikan piilottamista siitä, miten esine tekee jotain turvallisuussyistä. |
Ero abstraktin luokan ja käyttöliittymän välillä
Abstrakti luokka | liitäntä |
---|---|
Abstraktilla luokalla voi olla sekä abstrakteja että ei-abstrakteja menetelmiä. | Käyttöliittymässä voi olla vain abstrakteja menetelmiä. |
Se ei tue useita perintöjä. | Se tukee useita perintöjä. |
Se voi tarjota käyttöliittymän toteutuksen. | Se ei voi tarjota abstraktin luokan toteutusta. |
Abstraktilla luokalla voi olla suojattuja ja abstrakteja julkisia menetelmiä. | Käyttöliittymässä voi olla vain julkisia abstrakteja menetelmiä. |
Abstraktilla luokalla voi olla lopullinen, staattinen tai staattinen lopullinen muuttuja millä tahansa pääsymäärityksellä. | Liitännässä voi olla vain julkinen staattinen lopullinen muuttuja. |
Mikä on abstrakti luokka?
ABSTRAKTI LUOKKA on eräänlainen luokka Java, jotka ilmoittavat yhden tai useamman abstraktin menetelmän. Näillä luokilla voi olla sekä abstrakteja että konkreettisia menetelmiä. Normaalilla luokalla ei voi olla abstrakteja menetelmiä. Abstrakti luokka on luokka, joka sisältää vähintään yhden abstraktin menetelmän. Voimme ymmärtää käsitteen muotoesimerkki javassa.
Tarkastellaan seuraavaa luokkahierarkiaa, joka koostuu Shape-luokasta, jonka kolme luokkaa ovat suorakulmio, ympyrä ja kolmio. Shape-luokka on luotu säästämään yhteisiä määritteitä ja menetelmiä, jotka jakavat kolme luokkaa Suorakulmio, Ympyrä ja Kolmio. CalculateArea() on yksi tällainen menetelmä, joka on jaettu kaikille kolmelle alaluokalle ja joka esiintyy Shape-luokassa.
Oletetaan nyt, että kirjoitat koodia luodaksesi objekteja yllä kuvatuille luokille. Katsotaan kuinka nämä esineet näyttävät käytännöllisessä maailmassa. Luokan suorakulmion objekti antaa suorakulmion, muodon, jota niin usein havaitsimme jokapäiväisessä elämässä.
Luokkakolmion esine antaa kolmion, joka on jälleen yleinen arkimuoto.
Mutta miltä Class Shapen esine näyttäisi käytännön maailmassa?
Jos huomaat Shape-luokan palvelee sisään tavoitteemme saavuttaa perintö ja polymorfismi. Mutta sitä ei rakennettu instantioitavaksi. Tällaiset luokat voidaan merkitä Abstrakti. Abstraktia java-luokkaa ei voida instantoida.
Syntaksi:
abstract class Shape{ // code }
On mahdollista, että ET merkitse muotoluokkaa abstraktiksi ja sitten instantoi sitä. Mutta sellaisella objektilla ei ole käyttöä koodissasi ja se avaa tilaa mahdollisille virheille. Siksi tämä ei ole toivottavaa.
Missä abstraktit menetelmät ovat Java?
ABSTRAKTI MENETELMÄ in Java, on menetelmä, jolla on vain menetelmän määritelmä, mutta joka ei sisällä toteutusta. Menetelmä ilman kehoa tunnetaan abstraktina menetelmänä. Se on ilmoitettava abstraktissa luokassa. Abstrakti menetelmä ei koskaan ole lopullinen, koska abstraktin luokan on toteutettava kaikki abstraktit menetelmät.
Kuten me kaikki tiedämme, suorakulmion, ympyrän ja kolmion pinta-alan laskentakaava on erilainen. Perivien luokkien on ohitettava laskentaArea()-menetelmä. Ei ole mitään järkeä määritellä sitä Shape-luokassa, mutta meidän on varmistettava, että kaikilla periytyvillä luokilla on menetelmä.
Tällaiset menetelmät voidaan merkitä abstrakti.
Syntaksi:
abstract public void calculateArea();
Saat abstrakti menetelmä, toteutusta ei tarvita. Vain menetelmän allekirjoitus määritellään.
Esimerkki abstraktiokoodista
abstract class Shape{ abstract void calculateArea(); } class guru99 extends Shape{ void calculateArea(){System.out.println("Area of Shape");} public static void main(String args[]){ Shape obj = new guru99(); obj.calculateArea(); } }
Abstraation edut
- Abstraktion käytön tärkein etu Ohjelmointi sen avulla voit ryhmitellä useita toisiinsa liittyviä luokkia sisaruksiksi.
- Olioohjelmoinnin abstraktio auttaa vähentämään ohjelmiston suunnittelu- ja toteutusprosessin monimutkaisuutta.
Viimeinen avainsana sisään Java
Viimeinen muokkaaja koskee luokkia, menetelmiä ja muuttujia. Finaalin merkitys vaihtelee kontekstista toiseen, mutta oleellinen idea on sama.
- Viimeistä luokkaa ei voi periä
- Lopullisesta muuttujasta tulee vakio, eikä sen arvoa voi muuttaa.
- Viimeistä menetelmää ei voi ohittaa. Tämä tehdään turvallisuussyistä, ja näitä menetelmiä käytetään optimointiin.
esimerkki :- Abstraktien ja lopullisten avainsanojen oppiminen
Vaihe 1) Kopioi seuraava koodi editoriin.
abstract class Shape{ final int b = 20; public void display(){ System.out.println("This is display method"); } abstract public void calculateArea(); } public class Rectangle extends Shape{ public static void main(String args[]){ Rectangle obj = new Rectangle(); obj.display(); //obj.b=200; } //public void calculateArea(){} }
Vaihe 2) Tallenna, käännä ja suorita koodi.
Vaihe 3) Virhe =? Abstraktia menetelmää ei ole toteutettu luokassa Suorakulmio. Korjaa ongelma poistamalla kommentit rivillä 15.
Vaihe 4) Poista kommentit rivi # 13. Tallenna ja käännä koodi.
Vaihe 5) Virhe =? muuttuja b on lopullinen
Milloin käyttää abstrakteja menetelmiä ja tiivistelmäluokkaa?
Abstrakteja menetelmiä julistetaan enimmäkseen silloin, kun kaksi tai useampi alaluokka tekee saman asian eri tavoin eri toteutusten kautta. Se myös laajentaa samaa Abstract-luokkaa ja tarjoaa erilaisia toteutuksia abstrakteille menetelmille.
Abstraktit luokat auttavat kuvaamaan yleisiä käyttäytymistyyppejä ja olio-ohjelmointiluokkahierarkiaa. Se kuvaa myös alaluokkia tarjotakseen abstraktin luokan toteutustietoja.
Yhteenveto:
- Abstraktio ohjelmoinnissa on prosessi, jossa valitaan tärkeitä tietojoukkoja objekti ohjelmistossasi ja jättämättä pois merkityksettömät.
- Kun olet mallintanut objektisi Data Abstractionin avulla Java, samaa tietojoukkoa voitaisiin käyttää eri sovelluksissa.