Koja je upotreba apstraktne metode u Javi?



Ovaj članak o apstraktnoj metodi u Javi pomoći će vam da naučite kako postići apstrakciju kada koristite programiranje apstraktnih klasa i metoda u Javi

U bilo kojem programskom jeziku, apstrakcija Podrazumijeva skrivanje nebitnih detalja od korisnika kako bi se usredotočio samo na bitne detalje kako bi se povećala učinkovitost i smanjila složenost. U Javi se apstrakcija postiže pomoćuapstraktne klase i metode. Upoznajmo više o apstraktnoj metodi u .

pl sql tutorial s primjerima

Teme o kojima se raspravlja u ovom članku su sljedeće:





Što je sažetak?

U bilo kojem , klasa koja se deklarira s ključnom riječi sažetak je poznat kao apstraktna klasa. An apstraktni razred obuhvaća zajedničke karakteristike podrazreda i može ih sadržavati, ali i ne mora apstraktna metoda . Ne može se instancirati, ali se može koristiti kao superklasa samo u svojim podrazredima.

U nastavku su navedene neke ključne točke u vezi sa apstraktnom nastavom:



  • Apstraktni čas može imati konstruktori i statičke metode
  • Može imati konačne metode , prisiljavaju podrazred da ne mijenja tijelo metode
  • Apstraktnu klasu možete koristiti nasljeđivanjem iz druge klase, a zatim u njoj pružiti implementacije apstraktnih metoda
  • Ako apstraktna klasa nema implementaciju metode, uvijek je bolje koristiti sučelje

Klasa proglašena apstraktnom može uključivati ​​ili ne uključivati ​​apstraktne metode. Ali, što je zapravo apstraktna metoda?

Što je apstraktna metoda?

Metoda deklarirana bez tijela (bez provedbe)unutar apstraktne klase nalazi se apstraktna metoda. Drugim riječima, ako želite a razred da sadrži određenu metodu, ali želite da stvarnu implementaciju te metode određuju podređeni razredi, tada možete deklarirati metodu u nadređenoj klasi kao apstraktnu.

Evo kako apstraktna metoda izgleda u Javi:



apstraktno javno prazno stanište ()

Ključne značajke apstraktne metode

Dolje su navedene ključne značajke apstraktne metode:

  • Apstraktne metode nemaju implementaciju (tijelo), one samo imaju potpis metode kao što je prikazano u gornjem primjeru
  • Ako klasa ima apstraktnu metodu, treba je proglasiti apstraktnom, obrnuto nije istina
  • Umjesto kovrčavih zagrada, apstraktna metoda na kraju će imati zarez ()
  • Ako je a redovna nastava proširuje apstraktnu klasu, tada klasa mora implementirati sve apstraktne metode te klase ili je također treba proglasiti apstraktnom

Primjer programa: Apstraktna metoda u Javi

Pogledajte primjer programa kako biste shvatili kako se apstrakcija postiže apstraktnim klasama i apstraktnim metodama. Pogledajte.

paket MyPackage // apstraktna klasa sažetak klase Animal {String AnimalName = '' Animal (naziv niza) {this.AnimalName = name} // deklarirati apstraktne metode // ima zadanu implementaciju javna void BasicInfo (detalji niza) {System. out.println (this.AnimalName + '' + detalji)} // apstraktne metode koje će se // implementirati u svojim podrazredima (abstraktima) javno prazno stanište () apstraktno javno prazno disanje ()} klasa Zemaljski proteže se Životinja {// konstruktor Zemaljski (naziv niza) {super (ime)} @Preuzmi javno prazno stanište () {System.out.println ('ostavi na kopnu i')} @Preuzmi javno prazno disanje () {System.out.println ('respire kroz pluća ili dušnik. ')}} klasa Aquatic proširuje Animal {// konstruktor Aquatic (naziv niza) {super (ime)} @ Nadjačaj javno prazno stanište () {System.out.println (' Ostavlja u vodi i ') } @Override javno void disanje () {System.out.println ('disanje kroz škrge ili njihovu kožu.')}} Class AbstractClassDemo {public static voi d main (String [] args) {// stvaranje objekta zemaljske klase // i korištenje reference klase Animal. Životinjski objekt1 = novi zemaljski ('ljudi') objekt1.BasicInfo ('su kopnena bića, oni') object1.habitat () object1.respiration () System.out.println ('') // stvaranje objekata klase kruga Animal object2 = new Aquatic ('Fishes') object2.BasicInfo ('su vodena bića, ona') object2.habitat () object2.respiration ()}}

Izlaz:

Metoda Osnovne informacije () je koju koriste obojica Zemaljski i Vodeni razreda. Metode stanište() i disanje() su apstraktne metode i nemaju nikakvu implementaciju, samo potpis. Zemaljski i Vodeni razredi moraju osigurati vlastitu provedbu obje ove metode. Također, primijetite da obje metode počinju s ključnom riječi sažetak . U ovom trenutku možda se pitate kako je apstraktni razred različit od sučelje .

Sučelje u Javi

Drugi način postizanja apstrakcija u Javi je pomoću sučelja . Sučelje je skup apstraktnih metoda, ono nema nikakvih konkretnih rezultata , za razliku od apstraktne klase. Ali za razliku od apstraktne klase, sučelje pruža potpunu apstrakciju u Javi. Može imati i metode i varijable poput klase. Međutim, metode deklarirane u sučelju su prema zadanim postavkama apstraktne.

Apstraktne klase i sučelja dva su glavna gradivna blokaod . Iako se oba primarno koriste za apstrakciju, međusobno se vrlo razlikuju i ne mogu se koristiti naizmjenično.

To nas dovodi do kraja ovog članka 'Apstraktna metoda u Javi'. Obradio sam jedan od najčešće pitanih , koji je apstraktna klasa u Javi.

Obavezno vježbajte što je više moguće i vratite svoje iskustvo.

Pogledajte Edureka, pouzdane tvrtke za internetsko učenje s mrežom od više od 250 000 zadovoljnih učenika raširenih širom svijeta. Imate pitanje za nas? Molimo vas da ga spominjete u odjeljku za komentare ove 'Apstraktne metode u Javi' članka i javit ćemo vam se u najkraćem mogućem roku.