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?
- Kodėl mums reikia „Java“ santraukų?
- Abstrakčių klasių naudojimo „Java“ taisyklės
- Abstrakcijos pasiekimo būdai Java
- Abstrakčių klasių sintaksė
- Praktiniai abstrakčių užsiėmimų pavyzdžiai
- Sąsajos ir abstrakčios klasės skirtumas
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ė.
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:
- Anotacijos klasės įgyvendinimas
- 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 metodus | Gali turėti abstrakčių ir ne abstrakčių metodų |
Jis turi tik galutinius kintamuosius | Tai apima ne galutinius kintamuosius |
Jis turi tik statinius ir galutinius kintamuosius | Jis turi statinius, nestatinius, galutinius, ne galutinius kintamuosius |
Neįgyvendins abstrakčios klasės | Gali į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ši | Nariai 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.