A Java bevont osztályainak teljes bemutatása



Ez a cikk segítséget nyújt a Java elvont osztályainak részletes megközelítésében, valamint példákkal a koncepció sokkal jobb megértéséhez.

Absztrakt osztályok segítse a felhasználókat az absztrakció elérésében, ami a legfontosabb objektum-orientált programozási gyakorlat, amelyet a szoftvertervezés során követnek. Ebben a cikkben az Absztrakt osztályok terminológiáját tárgyaljuk a következő modulon keresztül.

Mik azok az elvont osztályok a Java-ban?

Absztrakt osztályok határként funkcionál a megvalósítási módszer és annak funkcionalitása között. A funkcionalitás cseréjére szolgál a Konkrét osztály tagjai és a Absztrakt Osztály.





Abstract-Classes-in-Java-Edureka

Az absztrakt osztályokat azoknak az osztályoknak tekintjük, amelyek elrejtik a A módszer megvalósítása a felhasználó adatait, és csak a A módszer funkcionalitása. Ezeket a kulcsszóval deklarálják absztrakt . Ezek a módszerek magukban foglalhatják Absztrakt és Nem absztrakt módszerek bennük.

java különbség a dobás és a dobások között

Miért van szükségünk absztrakt osztályokra a Java-ban?

Absztrakt osztályokra van szükségünk a Java-ban a következő okok miatt:



  • Absztrakt osztályok támogatása Dinamikus módszer felbontása futási időben
  • Segítenek a felhasználóknak elérni Laza tengelykapcsoló
  • Absztrakt osztályok választják el a A módszer meghatározása az Örököltől Alosztályok
  • Ők biztosítják a Alapértelmezett funkcionalitás a meghatározott módszer valamennyi alosztályra
  • Az absztrakt osztályok biztosítják a Sablon a jövőbeli specifikus osztályok számára
  • Az absztrakt osztály lehetővé teszi Kód Újrahasználhatóság

Az elvont osztályok Java használatának szabályai

Az absztrakt osztály Java-ban történő megvalósításához be kell tartanunk az alább leírt szabályokat:



  • Az absztrakt osztályt a absztrakt kulcsszó.
  • Az absztrakt osztályok tartalmazhatnak absztrakt és nem elvont mód.
  • Absztrakt osztály nem lehet példányos.
  • Tartalmazhatják kivitelezők és statikus mód.
  • Az absztrakt osztály tartalmaz végső mód.

Az absztrakció elérésének módjai a Java-ban

Az absztrakció folyamata a Java-ban az alábbi két módszerrel érhető el:

  1. Absztrakt osztály megvalósítása
  2. Interfész megvalósítása

Az absztrakt osztályok szintaxisa

Az absztrakt osztályok és az absztrakt módszerek meghatározásának szintaxisa a következő:

absztrakt osztály Edureka {}
absztrakt osztály Módszer ()

Gyakorlati példák absztrakt órákra

// Absztrakt osztály

csomag Absztrakt public absztrakt osztály Person {private String name private String gender public Person (String nm, String gen) {this.name = nm this.gender = gen} public abstract void Studying () @Orride public String toString () {return ' Név = '+ this.name +' :: Gender = '+ this.gender}}

// Diák osztály

csomag Absztrakt nyilvános osztály Student kiterjeszti Személy {private int StudentID nyilvános Student (String nm, String gen, int id) {super (nm, gen) this.StudentID = id} @Orride public void Studying () {if (StudentID == 0 ) {System.out.println ('nem tanul')} else {System.out.println ('fokozat megszerzése a mérnöki alapképzésben')}} public static void main (String args []) {Person student = new Student ('Priya', 'Nő', 0) Tanuló személy1 = új hallgató ('Karan', 'Férfi', 201021) Tanuló személy2 = új hallgató ('Kumari', 'Nő', 101021) Tanuló személy 3 = új hallgató (' John ',' Male ', 201661) hallgató. Tanulmány () student1.Studying () student2.Studying () student3.Studying () System.out.println (student.toString ()) System.out.println (student1.toString ()) System.out.println (student2.toString ()) System.out.println (student3.toString ())}}

Kimenet:

dobj duplát egy int

Nem tanul
Mérnöki diploma megszerzése
Mérnöki diploma megszerzése
Mérnöki diploma megszerzése
Név = Priya :: Nem = Nő
Név = Karan :: Nem = Férfi
Név = Kumari :: Nem = Nő
Név = János :: Nem = Férfi

Különbség az interfész és az absztrakt osztály között

Felület Absztrakt osztály
Csak elvont módszerek lehetnekRendelkezhetnek elvont és nem absztrakt módszerekkel
Csak végső változók vannak benneNem végleges változókat tartalmaz
Csak statikus és végső változókat tartalmazStatikus, nem statikus, végleges, nem végleges változókkal rendelkezik
Nem hajtja végre az Absztrakt osztálytMeg tudja valósítani az interfészt
„Megvalósítás” kulcsszóval valósult megA „kiterjeszti” kulcsszóval valósult meg
Csak az interfészt bővíthetiBővítheti a Java osztályokat és interfészeket
A tagok alapértelmezés szerint nyilvánosakA tagok lehetnek privátok és védettek

// Absztrakt osztály példa

pack abstactVSinterface absztrakt osztály Alakzat {String objectName = '' Alakzat (String név) {this.objectName = név} absztrakt nyilvános kettős terület () abstract public void draw ()} osztály Téglalap kiterjeszti Alakzat {int hossz, szélesség Téglalap (int hosszú int szélesség, karakterlánc neve) {szuper (név) this.length = hossz this.width = width} @Orride public void draw () {System.out.println ('téglalap rajzolva')} @Orride public double area () {return (double) (hossz * szélesség)}} class Kör kiterjed Alakzat {double pi = 3.14 int radius Kör (int radius, String name) {super (name) this.radius = radius} @Orride public void draw () { System.out.println ('A kör rajzolva')} @Orride public double area () {return (double) ((pi * radius * radius) / 2)}} class Edureka {public static void main (String [] args ) {Shape rect = new Rectangle (20, 30, 'Rectangle') System.out.println ('A téglalap területe:' + rect.area ()) Alakú kör = new Circle (20, 'Cicle') System.out .println ('A kör területe:' + kör.terület ())}}

Kimenet:

sqoop importálás az oracle-ből a hdfs-be

A téglalap területe: 600,0
A kör területe: 628.0

// Interfész példa

pack absVSint interfész Alakzat {void draw () dupla terület ()} osztály Téglalap eszközei Alakzat {int hossz, szélesség Téglalap (int hossz, int szélesség) {this.length = hossz this.width = width} @Orride public void draw () {System.out.println ('Téglalap rajzolva')} @ Nyilvános kettős terület felülbírálása () {return (double) (hossz * szélesség)}} osztály Kör megvalósítja Alakzat {double pi = 3,14 int sugár Kör (int sugár) {this.radius = radius} @Orride public void draw () {System.out.println ('Kör rajzolva van')} @Orride public double area () {return (double) ((pi * radius * radius) / 2)}} class Edureka {public static void main (String [] args) {Shape rect = new Rectangle (20, 30) System.out.println ('Téglalap területe:' + rect.area ()) Alakzat = új kör (20) System.out.println ('A kör területe:' + kör.terület ())}}

Kimenet:

A téglalap területe: 600,0
A kör területe: 628,0

Ezzel a cikk végére értünk. Remélem, megértette az absztrakció, a szintaxis, a funkcionalitás, az absztrakciós szabályok fontosságát a Java-ban és a hozzájuk kapcsolódó gyakorlati példákat.

Most, hogy megértette a Java alapjait, nézze meg a az Edureka, egy megbízható online tanulási vállalat, amelynek több mint 250 000 elégedett tanulóval rendelkező hálózata elterjedt az egész világon. Az Edureka Java J2EE és SOA képzési és tanúsítási tanfolyamát olyan hallgatók és szakemberek számára tervezték, akik Java fejlesztők szeretnének lenni. A tanfolyamot úgy tervezték, hogy előrelépést nyújtson a Java programozásban, és betanítson mind az alapvető, mind a fejlett Java koncepciókra, különféle Java keretrendszerekkel együtt, mint például a Hibernate & Tavaszi .

Van egy kérdésünk? Említse meg ennek az „Absztrakt osztályok a Java-ban” blog megjegyzés rovatának, és a lehető leghamarabb kapcsolatba lépünk Önnel.