Pilnīgs ievads Java abstraktajās klasēs



Šis raksts palīdzēs jums detalizēti aplūkot Java abstraktās klases kopā ar piemēriem, lai daudz labāk izprastu šo jēdzienu.

Abstraktās nodarbības palīdzēt lietotājiem sasniegt abstrakciju, kas ir vissvarīgākā objektorientētā programmēšanas prakse, kas jāievēro programmatūras projektēšanas procesā. Šajā rakstā mēs apspriedīsim abstrakto klašu terminoloģiju, izmantojot šo kontaktligzdu.

Kas ir Java abstraktās klases?

Abstraktās nodarbības darbojas kā robeža starp ieviešanas metodi un tās funkcionalitāti. To izmanto, lai apmainītos ar funkcionalitāti starp Betons klases locekļi un Abstrakts Klase.





Abstract-Classes-in-Java-Edureka

Abstraktās klases tiek uzskatītas par klasēm, kas slēpj Metodes ieviešana lietotāja informāciju un parāda tikai Metodes funkcionalitāte. Tie tiek deklarēti, izmantojot atslēgvārdu abstrakts . Šīs metodes var ietvert Abstrakts un Ne-abstrakts metodes tajās.

c ++ stl intervijas jautājumi

Kāpēc mums ir nepieciešamas abstraktas klases Java?

Mums ir nepieciešamas Java abstraktās klases šādu iemeslu dēļ:



  • Abstract klases atbalsts Dinamiskās metodes izšķirtspēja izpildes laikā
  • Tie palīdz lietotājiem sasniegt Loose Coupling
  • Abstraktās klases atdala Metodes definīcija no Mantotā Apakšklases
  • Tie nodrošina Noklusējuma funkcionalitāte definēto metodi visām apakšklasēm
  • Abstraktās nodarbības nodrošina a Veidne nākamajām konkrētajām klasēm
  • Abstraktā klase atļauj Kods Atkārtota izmantošana

Noteikumi abstrakto klašu izmantošanai Java

Lai Java abstraktā klasē ieviestu, mums jāievēro šādi aprakstītie noteikumi:



  • Abstraktā klase jādeklarē, izmantojot abstrakts atslēgvārds.
  • Abstraktās klases var ietvert abstrakts un nav abstrakts metodes.
  • Abstrakta klase nevar būt instancēts.
  • Tie var ietvert konstruktori un statisks metodes.
  • Abstraktā klasē ietilpst galīgais metodes.

Veidi, kā panākt abstrakciju Java

Abstrakcijas procesu Java var sasniegt ar šādām divām metodēm, kā minēts turpmāk:

  1. Abstraktās klases ieviešana
  2. Saskarnes ieviešana

Abstrakto nodarbību sintakse

Abstrakto klašu un abstrakto metožu definēšanas sintakse ir šāda:

abstraktā klase Edureka {}
abstraktās klases metode ()

Praktiski abstraktu nodarbību piemēri

// Abstrakta klase

pakete Abstract public abstract class Person {private String name private String gender public Person (String nm, String gen) {this.name = nm this.gender = gen} public abstract void Studying () @Override public String toString () {return ' Vārds = '+ this.name +' :: Dzimums = '+ this.gender}}

// Studentu klase

pakete Anotācija publiskā klase Students pagarina personu {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ženierzinātņu bakalaura grāda iegūšana')}} public static void main (String args []) {Persona students = jauns students ('Priya', 'Sieviete', 0) Persona students1 = jauns students ('Karan', 'Vīrietis', 201021) Persona students2 = jauns students ('Kumari', 'Sieviete', 101021) Persona students3 = jauns students (' John ',' Male ', 201661) students. Studying () students1.Studying () students2.Studying () students3.Studying () System.out.println (student.toString ()) System.out.println (student1.toString ()) System.out.println (students2.toString ()) System.out.println (students3.toString ())}}

Izeja:

Nemācās
Inženierzinātņu bakalaura grāda iegūšana
Inženierzinātņu bakalaura grāda iegūšana
Inženierzinātņu bakalaura grāda iegūšana
Vārds = Priya :: Dzimums = Sieviete
Vārds = Karana :: Dzimums = Vīrietis
Vārds = Kumari :: Dzimums = Sieviete
Vārds = Jānis :: Dzimums = Vīrietis

parsējot xml failu Java

Atšķirība starp saskarni un abstrakto klasi

Saskarne Abstrakta klase
Var būt tikai abstraktas metodesVar būt abstraktas un ne-abstraktas metodes
Tam ir tikai galīgie mainīgieTas ietver ne-galīgos mainīgos
Tam ir tikai statiskie un galīgie mainīgieTam ir statiski, nestatiski, galīgi, galīgi mainīgi mainīgie
Abstraktā klase netiks ieviestaVar ieviest saskarni
Īstenots, izmantojot atslēgvārdu “īsteno”Īstenots, izmantojot atslēgvārdu “paplašina”
Var paplašināt tikai saskarniVar paplašināt Java klases un saskarnes
Biedri pēc noklusējuma ir publiskiLocekļi var būt privāti un aizsargāti

// Kopsavilkuma klases piemērs

pakete abstactVSinterface abstrakta klase Forma {String objectName = '' Forma (String name) {this.objectName = name} abstrakts publiskais dubultā apgabals () abstract public void draw ()} klase Taisnstūris paplašina Shape {int garums, platums Taisnstūris (int garums int platums, virknes nosaukums) {super (nosaukums) this.length = garums this.width = width} @Override public void draw () {System.out.println ('Taisnstūris ir uzzīmēts')} @Override public double area () {return (double) (length * width)}} klase Aplis izplešas Forma {double pi = 3,14 int rādiuss Aplis (int rādiuss, Stīgas nosaukums) {super (nosaukums) this.radius = rādiuss} @ Pārvarēt public void draw () { System.out.println ('Aplis ir uzzīmēts')} @Orride public double area () {return (double) ((pi * radius * radius) / 2)}} class Edureka {public static void main (String [] args ) {Shape rect = jauns taisnstūris (20, 30, 'Taisnstūris') System.out.println ('Taisnstūra laukums:' + rect.area ()] Formas aplis = jauns Circle (20, 'Cicle') System.out .println ('Apļa laukums ir:' + circle.area ())}}

Izeja:

Taisnstūra laukums: 600,0
Apļa laukums ir: 628,0

// Saskarnes piemērs

paketes absVSint saskarne Forma {void draw () double area ()} klase Taisnstūra rīki Forma {int garums, platums Taisnstūris (int garums, int platums) {this.length = garums this.width = width} @Override public void draw () {System.out.println ('Taisnstūris ir uzzīmēts')} @ Pārvarēt publisko dubulto laukumu () {return (double) (garums * platums)}} klase Circle implements Shape {double pi = 3,14 int rādiuss Circle (int rādiuss) {this.radius = radius} @Orride public void draw () {System.out.println ('Aplis ir uzzīmēts')} @Override public double area () {return (double) ((pi * rādiuss * rādiuss) / 2)}} klase Edureka {public static void main (String [] args) {Shape rect = new Taisnstūris (20, 30) System.out.println ('Taisnstūra laukums:' + rect.area ()) Formas aplis = jauns aplis (20) System.out.println ('Apļa laukums:' + aplis.apgabals ())}}

Izeja:

Taisnstūra laukums: 600,0
Apļa laukums: 628,0

Ar to mēs esam nonākuši pie šī raksta beigām. Es ceru, ka jūs esat sapratuši abstrakcijas, sintakses, funkcionalitātes, abstrakcijas noteikumu nozīmīgumu Java un ar tiem saistītus praktiskus piemērus.

ms sql apmācība iesācējiem

Tagad, kad esat sapratis Java pamatus, pārbaudiet Autors: Edureka, uzticams tiešsaistes mācību uzņēmums ar vairāk nekā 250 000 apmierinātu izglītojamo tīklu visā pasaulē. Edureka Java J2EE un SOA apmācības un sertifikācijas kurss ir paredzēts studentiem un profesionāļiem, kuri vēlas būt Java izstrādātāji. Kurss ir paredzēts, lai dotu jums iespēju sākt Java programmēšanu un apmācīt gan pamata, gan uzlabotas Java koncepcijas, kā arī dažādas Java struktūras, piemēram, hibernēt un Pavasaris .

Vai mums ir jautājums? Pieminiet to šī emuāra “Abstract Classes in Java” komentāru sadaļā, un mēs pēc iespējas ātrāk sazināsimies ar jums.