Mis on abstraktse meetodi kasutamine Java-s?



See Java abstraktset meetodit käsitlev artikkel aitab teil teada saada, kuidas abstraktseid klasse ja meetodeid Java programmeerimisel kasutada

Mis tahes programmeerimiskeeles abstraktsioon tähendab ebaoluliste detailide varjamist kasutaja eest, et keskenduda tõhususe suurendamiseks ainult olulistele detailidele, vähendades seeläbi keerukust. Java-s saavutatakse abstraktsioon kasutadesabstraktsed klassid ja meetodid. Tutvume abstraktse meetodiga lähemalt aastal .

Selles artiklis käsitletavad teemad on järgmised:





Mis on abstraktne klass?

Mis tahes , klass, mis deklareeritakse märksõnaga abstraktne on tuntud kui abstraktne klass. An abstraktne klass kajastab alaklasside ühiseid omadusi ja võib neid sisaldada või mitte abstraktne meetod . Seda ei saa instantsida, vaid seda saab kasutada ainult superklassina selle alaklasside kaupa.

Allpool on loetletud mõned abstraktse klassi põhipunktid:



kuidas massiivi PHP-s kuvada
  • Abstraktsel klassil võib olla konstruktorid ja staatilised meetodid
  • See võib olla lõplikud meetodid , sunnivad nad alaklassi meetodi sisu muutma
  • Võite kasutada abstraktset klassi, pärides selle teiselt klassilt ja pakkudes seejärel rakendusi selles sisalduvatele abstraktsetele meetoditele
  • Kui abstraktsel klassil pole meetodi rakendamist, on seda alati parem kasutada liides

Abstraktseks kuulutatud klass võib abstraktseid meetodeid sisaldada või mitte. Kuid mis on abstraktne meetod?

Mis on abstraktne meetod?

Kehata deklareeritud meetod (rakendus puudub)abstraktse klassi sees on abstraktne meetod. Teisisõnu, kui soovite a klass sisaldama kindlat meetodit, kuid soovite, et selle meetodi tegeliku rakendamise määraksid lapseklassid, siis võite deklareerida meetodi vanemateklassis abstraktsena.

Nii näeb abstraktne meetod Java-s välja:



abstraktne tühine elupaik ()

Abstraktse meetodi põhijooned

Allpool on toodud abstraktse meetodi põhijooned:

  • Abstraktsetel meetoditel pole rakendust (keha), vaid lihtsalt meetodi allkiri, nagu on näidatud ülaltoodud näites
  • Kui klassil on abstraktne meetod, tuleks see kuulutada abstraktseks, vastupidi, see pole tõsi
  • Lokkisulgude asemel on abstraktse meetodi lõpus semikoolon ()
  • Kui a tavaklass laiendab abstraktset klassi, siis peab klass rakendama kõik selle klassi abstraktsed meetodid või tuleb see ka abstraktseks kuulutada

Näidisprogramm: abstraktne meetod Java-s

Vaadake näidisprogrammi, et mõista, kuidas abstraktne klasside ja abstraktsete meetodite abil abstraktsioon saavutatakse. Vaadake seda.

pakett MyPackage // abstraktne klass abstraktne klass Loom {String AnimalName = ''Loom (Stringi nimi) {this.AnimalName = nimi} // deklareerib mitte-abstraktsed meetodid // sellel on vaikimisi juurutamine public void BasicInfo (Stringi üksikasjad) {System. out.println (this.AnimalName + '' + detailid)} // abstraktsed meetodid, mida // rakendavad selle alaklass (id) abstraktne avalik tühi elupaik () abstraktne avalik tühine hingamine ()} klass Maapealne laiendab looma {// konstruktor Terrestrial (stringi nimi) {super (nimi)} @Orride public void habitat () {System.out.println ('jäta maale ja')} @Override public void-hingamine () {System.out.println ('respire läbi kopsude või hingetoru. ')}} klass Veepikendused ulatuvad looma {// konstruktor veekeskkond (stringinimi) {super (nimi)} @Orride public void habitat () {System.out.println (' See lahkub veest ja ') } @Orride public void respiration () {System.out.println ('hingake läbi lõpuste või nende naha.')}} Klass AbstractClassDemo {public static voi d main (String [] args) {// maapealse klassi objekti loomine // ja loomaklassi viite kasutamine. Loomaobjekt1 = uus maapealne ('Inimesed') objekt1.BasicInfo ('on maapealsed olendid, nemad') object1.habitat () object1.respiration () System.out.println ('') // looma ringklassi Animal objektid object2 = uus veekeskkond ('Fishes') object2.BasicInfo ('nad on vesised olendid') object2.habitat () object2.hingamine ()}}

Väljund:

Meetod BasicInfo () on mida kasutavad mõlemad Maapealne ja Veekeskkond klassides. Meetodid elupaik () ja hingamine () on abstraktsed meetodid ja neil pole mingit rakendust, vaid ainult allkiri. Maapealne ja Veekeskkond klassid peavad pakkuma mõlema meetodi jaoks oma rakenduse. Pange tähele, et mõlemad meetodid algavad märksõnaga abstraktne . Siinkohal võiksite mõelda, kuidas on abstraktne klass erinev liides .

Liides Java-s

kuidas vältida ummikseisusid javas

Teine viis saavutamiseks abstraktsioon Java on kasutades liidesed . Liides on abstraktsete meetodite kogum, sellel pole konkreetset , erinevalt abstraktsest klassist. Kuid erinevalt abstraktsest klassist pakub liides Java-s täieliku abstraktsiooni. Sellel võib olla nii meetodeid kui ka muutujaid nagu klassil. Liideses deklareeritud meetodid on vaikimisi siiski abstraktsed.

Abstraktsed klassid ja liidesed on kaks peamist ehituskiviselle . Ehkki mõlemat kasutatakse peamiselt abstraktsiooniks, on nad üksteisest väga erinevad ja neid ei saa kasutada omavahel.

Sellega jõuame selle artikli „Abstraktne meetod Java-s“ lõpuni. Olen kajastanud ühte kõige sagedamini küsitavat , mis on Java abstraktne klass.

Harjutage kindlasti nii palju kui võimalik ja pöörake oma kogemused tagasi.

Vaadake Edureka, usaldusväärne veebiõppeettevõte, mille võrgustik hõlmab üle 250 000 rahuloleva õppija, levinud üle kogu maailma. Kas teil on meile küsimus? Palun mainige seda selle Java abstraktse meetodi kommentaaride osas artikli ja võtame teiega ühendust niipea kui võimalik.