Pilnas įvadas į abstrakčias „Java“ klases



Šis straipsnis padės jums išsamiai susipažinti su „Java“ abstrakčiomis klasėmis kartu su pavyzdžiais, kad suprastumėte sąvoką daug geriau.

Abstraktūs užsiėmimai padėti vartotojams pasiekti abstrakciją, o tai yra svarbiausia objektyvaus programavimo praktika, kurios laikomasi programinės įrangos projektavimo procese. Šiame straipsnyje aptarsime abstrakčių klasių terminologiją šiame skyriuje.

Kas yra „Java“ abstrakčios klasės?

Abstraktūs užsiėmimai veikia kaip riba tarp įgyvendinimo metodo ir jo funkcionalumo. Jis naudojamas keistis funkcionalumu tarp Betonas klasės nariai ir Santrauka Klasė.





Abstract-Classes-in-Java-Edureka

Anotacijos klasės laikomos klasėmis, kurios slepia Metodo įgyvendinimas vartotojo duomenys ir rodomi tik Metodo funkcionalumas. Jie deklaruojami naudojant raktinį žodį abstraktus . Šie metodai gali apimti Santrauka ir Ne abstraktus metodus juose.

db naršyklė sqlite peržiūrai

Kodėl mums reikia „Java“ santraukų?

Abstraktios klasės „Java“ mums reikalingos dėl šių priežasčių:



  • „Abstract Classes“ palaikymas Dinaminio metodo skiriamoji geba vykdymo metu
  • Jie padeda vartotojams pasiekti Laisvas sujungimas
  • Abstraktios klasės atskiria Metodo apibrėžimas iš Paveldimo Pogrupiai
  • Jie teikia Numatytasis funkcionalumas apibrėžto metodo visoms subklasėms
  • Abstraktiuose užsiėmimuose pateikiama a Šablonas konkrečioms būsimoms klasėms
  • Abstrakti klasė leidžia Kodas Pakartotinis naudojimas

Abstrakčių klasių naudojimo „Java“ taisyklės

Norėdami įdiegti abstrakčią klasę „Java“, turime laikytis toliau aprašytų taisyklių:



  • Abstrakti klasė turi būti deklaruojama naudojant abstraktus raktinis žodis.
  • Abstraktios klasės gali apimti abstraktus ir ne abstraktus metodai.
  • Anotacijos klasė negali būti akimirksniu.
  • Jie gali apimti konstruktoriai ir statinis metodai.
  • Anotacijos klasė apima galutinis metodai.

Abstrakcijos pasiekimo būdai Java

Abstrakcijos „Java“ procesą galima pasiekti šiais dviem būdais, kaip nurodyta toliau:

  1. Anotacijos klasės įgyvendinimas
  2. Sąsajos diegimas

Abstrakčių klasių sintaksė

Santraukų klasių ir abstrakčių metodų apibrėžimo sintaksė yra tokia:

abstrakti klasė „Edureka“ {}
abstrakčios klasės metodas ()

Praktiniai abstrakčių užsiėmimų pavyzdžiai

// Santraukos klasė

paketas Anotacija viešoji abstrakčioji klasė Asmuo {privatus eilutės pavadinimas privatus eilutės lytis viešasis asmuo (String nm, String gen) {this.name = nm this.gender = gen} public abstract void Studying () @Orride public String toString () {return ' Vardas = '+ this.name +' :: Lytis = '+ this.gender}}

// Studentų klasė

paketas Anotacija viešoji klasė Studentas pratęsia asmenį {private int StudentID public Student (String nm, String gen, int id) {super (nm, gen) this.StudentID = id} @Override public void Studying () {if (StudentID == 0 ) {System.out.println ('Not Studying')} else {System.out.println ('Inžinerijos bakalauro laipsnio siekimas')}} public static void main (String args []) {Asmens studentas = naujas studentas ('Priya', 'Moteris', 0) Asmuo studentas1 = naujas studentas ('Karan', 'Vyras', 201021) Studentas studentas2 = naujas studentas ('Kumari', 'Moteris', 101021) Asmenis studentas3 = naujas studentas (' Jonas ',' Vyras ', 2016 m. ()) System.out.println (student2.toString ()) System.out.println (student3.toString ())}}

Išvestis:

Nesimoko
Siekti inžinerijos bakalauro laipsnio
Siekti inžinerijos bakalauro laipsnio
Siekti inžinerijos bakalauro laipsnio
Vardas = Priya :: Lytis = Moteris
Vardas = Karanas :: Lytis = Vyras
Vardas = Kumari :: Lytis = Moteris
Vardas = Jonas :: Lytis = Vyras

Sąsajos ir abstrakčios klasės skirtumas

Sąsaja Anotacija
Gali turėti tik abstrakčius metodusGali turėti abstrakčių ir ne abstrakčių metodų
Jis turi tik galutinius kintamuosiusTai apima ne galutinius kintamuosius
Jis turi tik statinius ir galutinius kintamuosiusJis turi statinius, nestatinius, galutinius, ne galutinius kintamuosius
Neįgyvendins abstrakčios klasėsGali įdiegti sąsają
Įgyvendinta naudojant „padargų“ raktinį žodįĮgyvendinta naudojant „pratęsia“ raktinį žodį
Gali išplėsti tik sąsająGali išplėsti „Java“ klases ir sąsajas
Pagal numatytuosius nustatymus nariai yra viešiNariai gali būti privatūs ir saugomi

// Santraukos klasės pavyzdys

kaip padaryti jframe
pack abstactVSinterface abstrakčios klasės forma Shape {String objectName = '' Shape (String name) {this.objectName = name} abstraktus viešas dvigubas plotas () abstract public void draw ()} klasės stačiakampis tęsiasi Shape {int ilgis, plotis int plotis, eilutės pavadinimas) {super (vardas) this.length = ilgis this.width = width} @Paisyti viešo tuštumo piešinį () {System.out.println ('Stačiakampis nubraižytas')} @Paisyti viešą dvigubą plotą () {grįžti (dvigubai) (ilgis * plotis)}} klasė Apskritimas tęsiasi Forma {dvigubas pi = 3,14 int spindulys Ratas (int spindulys, Stygos pavadinimas) {super (vardas) this.radius = radius} @Paisyti viešo tuštumo piešinį () { System.out.println ('Apskritimas nupieštas')} @Paisyti viešą dvigubą plotą () {return (double) ((pi * radius * radius) / 2)}} class Edureka {public static void main (String [] args ) {Shape rect = new Stačiakampis (20, 30, 'Stačiakampis') System.out.println ('Stačiakampio plotas:' + rect.area ()) Formos apskritimas = new Circle (20, 'Cicle') System.out .println ('Apskritimo plotas yra:' + circle.area ())}}

Išvestis:

Stačiakampio plotas: 600,0
Apskritimo plotas yra: 628.0

// Sąsajos pavyzdys

pakelkite skaičių į galią java
paketo absVSint sąsaja Forma {void draw () double area ()} klasė Stačiakampis padargas Forma {int ilgis, plotis Stačiakampis (int ilgis, int plotis) {this.length = ilgis this.width = plotis} @Paisyti public void draw () {System.out.println ('Nubraižytas stačiakampis')} @Paisyti viešą dvigubą plotą () {grįžti (dvigubai) (ilgis * plotis)}} klasės rato padargai Forma {dvigubas pi = 3,14 int spindulys Apskritimas (int spindulys) {this.radius = radius} @Paisyti viešą tuštumą () {System.out.println ('Apskritimas nupieštas')} @Paisyti viešą dvigubą plotą () {grįžti (dvigubai) ((pi * spindulys * spindulys) / 2)}} klasė „Edureka“ {public static void main (String [] args) {Shape rect = new Stačiakampis (20, 30) System.out.println ('Stačiakampio plotas:' + rect.area ()) Formos apskritimas = naujas ratas (20) System.out.println ('Apskritimo plotas:' + apskritimo.apskritis ())}}

Išvestis:

Stačiakampio plotas: 600,0
Apskritimo plotas: 628,0

Tuo mes baigėme šį straipsnį. Tikiuosi, kad supratote „Abstraction“, „Syntax“, funkcionalumo, „Abstraction Java“ ir su jais susijusių praktinių pavyzdžių svarbą.

Dabar, kai supratote „Java“ pagrindus, patikrinkite sukūrė „Edureka“ - patikima internetinė mokymosi įmonė, turinti daugiau nei 250 000 patenkintų besimokančiųjų tinklą. „Edureka“ mokymai ir sertifikavimo kursai „Java J2EE“ ir „SOA“ skirti studentams ir specialistams, norintiems būti „Java“ kūrėjais. Kursas sukurtas tam, kad galėtumėte pradėti žvalgytis į „Java“ programavimą ir išmokyti pagrindines ir pažangias „Java“ koncepcijas kartu su įvairiomis „Java“ sistemomis, tokiomis kaip „Hibernate“ ir Pavasaris .

Turite mums klausimą? Paminėkite tai šio tinklaraščio „Abstract Classes in Java“ komentarų skyriuje ir mes kuo greičiau susisieksime su jumis.