Millä tahansa ohjelmointikielellä, abstraktio tarkoittaa merkityksettömien yksityiskohtien piilottamista käyttäjältä keskittymään vain olennaisiin yksityiskohtiin tehokkuuden lisäämiseksi ja siten monimutkaisuuden vähentämiseksi. Java-tilassa abstraktio saavutetaan käyttämälläabstraktit luokat ja menetelmät. Opitaan lisää abstraktista menetelmästä .
Tässä artikkelissa käsitellään seuraavia aiheita:
java c ++ python
- Mikä on abstrakti luokka?
- Mikä on abstrakti menetelmä Java-sovelluksessa?
- Abstraktin menetelmän ket piirteet
- Esimerkkiohjelma: Abstrakti menetelmä Java-muodossa
- Käyttöliittymä Java-käyttöjärjestelmässä
Mikä on abstrakti luokka?
Missä tahansa , luokka, joka ilmoitetaan avainsanalla abstrakti tunnetaan abstraktina luokana. An abstrakti luokka kuvaa alaluokkien yleisiä ominaisuuksia ja voi sisältää tai olla sisältämättä niitä abstrakti menetelmä . Sitä ei voida instantisoida, mutta sitä voidaan käyttää vain yläluokkana sen alaluokkien kautta.
Alla on lueteltu joitain keskeisiä kohtia abstraktin luokan suhteen:
- Abstraktilla luokalla voi olla rakentajat ja staattiset menetelmät
- Se voi olla lopulliset menetelmät , ne pakottavat alaluokan olemaan muuttamatta menetelmän runkoa
- Voit käyttää abstraktia luokkaa perimällä sen toisesta luokasta ja tarjoamalla sitten toteutuksia sen abstrakteille menetelmille
- Jos abstraktilla luokalla ei ole menetelmän toteutusta, se on aina parempi käyttää käyttöliittymä
Abstraktiksi julistettu luokka voi sisältää abstrakteja menetelmiä tai ei. Mutta mikä on abstrakti menetelmä?
Mikä on abstrakti menetelmä?
Menetelmä, joka on ilmoitettu ilman elintä (ei toteutusta)abstraktin luokan sisällä on abstrakti menetelmä. Toisin sanoen, jos haluat a luokassa sisältää tietyn menetelmän, mutta haluat, että menetelmän varsinainen toteutus määritetään alaluokkien perusteella, voit julistaa menetelmän vanhempaluokassa abstraktina.
kuinka nostaa luku voimaksi jaavassa
Näin abstrakti menetelmä näyttää Java:
abstrakti julkinen tyhjä elinympäristö ()
Abstraktin menetelmän pääpiirteet
Alla on lueteltu abstraktin menetelmän tärkeimmät ominaisuudet:
- Abstrakteilla menetelmillä ei ole toteutusta (runkoa), vaan niillä on vain metodin allekirjoitus, kuten yllä olevassa esimerkissä on esitetty
- Jos luokassa on abstrakti menetelmä, se tulisi julistaa abstraktiksi, päinvastoin, ei ole totta
- Kihara-aaltosulkeiden sijasta abstraktin menetelmän lopussa on puolipiste ()
- Jos säännöllinen luokka laajentaa abstraktia luokkaa, luokan on sitten toteutettava kaikki kyseisen luokan abstraktit menetelmät tai se on julistettava myös abstraktiksi
Esimerkkiohjelma: Abstrakti menetelmä Java-muodossa
Tutustu esimerkkiohjelmaan ymmärtääksesi, kuinka abstraktio saavutetaan abstraktien luokkien ja abstraktien menetelmien avulla. Katsokaa.
package MyPackage // abstrakti luokka abstrakti luokka Animal {String AnimalName = '' Animal (String name) {this.AnimalName = name} // julista ei-abstraktit menetelmät // sillä on oletusarvoinen julkinen void BasicInfo (String details) {System. out.println (this.AnimalName + '' + yksityiskohdat)} // abstraktit menetelmät, jotka // toteuttavat sen alaluokka (t) abstrakti public void elinympäristö () abstrakti public void hengitys ()} -luokka Terrestrial extends Animal {// rakentaja Terrestrial (merkkijono) {super (nimi)} @Override public void habitat () {System.out.println ('leave on land and')} @Override public void hengitys () {System.out.println ('respire keuhkojen tai henkitorven kautta. ')}} luokka Aquatic ulottuu eläin {// konstruktori Aquatic (merkkijono) {super (nimi)} @Override public void habitat () {System.out.println (' Se lähtee veteen ja ') } @Override public void respiration () {System.out.println ('hengitä kidusten tai ihon läpi.')}} Class AbstractClassDemo {public static voi d main (String [] args) {// luodaan maanpäällisen luokan objekti // ja käytetään eläinluokan viitteitä. Eläinobjekti1 = uusi maanpäällinen ('Ihmiset') esine1.BasicInfo ('ovat maanpäällisiä olentoja, ne') object1.habitat () object1.respiration () System.out.println ('') // luomalla ympyräluokan Animal objektit object2 = uusi vesieliö ('Fishes') object2.BasicInfo ('ovat vesieliöitä, he') object2.habitat () object2.hengitys ()}}
Tuotos:
Menetelmä BasicInfo () on jota molemmat käyttävät Maanpäällinen ja Vesi luokat. Menetelmät elinympäristö () ja hengitys () ovat abstrakteja menetelmiä, eikä niillä ole mitään toteutusta, vain allekirjoitus. Maanpäällinen ja Vesi luokkien on tarjottava oma toteutus molemmille menetelmille. Huomaa myös, että molemmat menetelmät alkavat avainsanalla abstrakti . Tässä vaiheessa saatat miettiä, miten on abstrakti luokka erilainen kuin käyttöliittymä .
Käyttöliittymä Java-käyttöjärjestelmässä
Toinen tapa saavuttaa abstraktio Java on käyttämällä rajapinnat . Käyttöliittymä on kokoelma abstrakteja menetelmiä, sillä ei ole mitään konkreettista , toisin kuin abstrakti luokka. Mutta toisin kuin abstrakti luokka, käyttöliittymä tarjoaa täydellisen abstraktion Java-muodossa. Sillä voi olla sekä menetelmiä että muuttujia aivan kuten luokassa. Rajapinnassa ilmoitetut menetelmät ovat kuitenkin oletusarvoisesti abstrakteja.
Abstraktit luokat ja rajapinnat ovat kaksi tärkeintä rakennuspalikkaan . Vaikka molempia käytetään ensisijaisesti abstraktioon, ne ovat hyvin erilaisia toisistaan eikä niitä voida käyttää keskenään.
ero luokan ja käyttöliittymän välillä
Tämä tuo meidät tämän 'Abstract Method in Java' -artikkelin loppuun. Olen katsonut yhden yleisimmin kysytystä , joka on abstrakti luokka Javassa.
Varmista, että harjoittelet mahdollisimman paljon ja palauta kokemuksesi.
Katso Edureka, luotettava verkko-oppimisyritys, jolla on yli 250 000 tyytyväisen oppijan verkosto, joka levisi ympäri maailmaa. Onko sinulla kysymys meille? Mainitse se tämän ”Abstract Method in Java” -kommenttiosassa. artikkeli ja palaamme sinuun mahdollisimman pian.