Kompletný úvod do abstraktných tried v Jave



Tento článok vám pomôže s podrobným prístupom k abstraktným triedam v Jave spolu s príkladmi, ako tento koncept pochopiť oveľa lepšie.

Abstraktné triedy v pomôcť používateľom dosiahnuť abstrakciu, čo je najdôležitejšie objektovo orientované programovacie postupy, ktoré sa dodržiavajú počas procesu navrhovania softvéru. V tomto článku sa budeme zaoberať terminológiou abstraktných tried prostredníctvom nasledujúceho súboru.

Čo sú to abstraktné triedy v Jave?

Abstraktné triedy v pôsobiť ako hranica medzi implementačnou metódou a jej funkčnosťou. Používa sa na výmenu funkcií medzi Betón členovia triedy a Abstrakt Trieda.





Abstract-Classes-in-Java-Edureka

Abstraktné triedy sa považujú za triedy, ktoré zakrývajú Implementácia metódy podrobnosti od používateľa a zobraziť iba Metóda Funkčnosť. Deklarujú sa pomocou kľúčového slova abstraktné . Tieto metódy môžu zahŕňať Abstrakt a Non-abstraktné metódy v nich.

základy servera sql pre začiatočníkov

Prečo potrebujeme abstraktné triedy v Jave?

Abstraktné triedy v jazyku Java potrebujeme z nasledujúcich dôvodov:



  • Podpora abstraktných tried Dynamické rozlíšenie metódy za behu
  • Pomáhajú používateľom dosiahnuť Voľné spojenie
  • Abstraktné triedy oddeľujú Definícia metódy od Zdedených Podtriedy
  • Poskytujú Predvolená funkčnosť definovanej metódy pre všetky podtriedy
  • Abstraktné triedy poskytujú a Šablóna pre budúce konkrétne triedy
  • Abstraktná trieda umožňuje Zákonníka Opätovná použiteľnosť

Pravidlá používania abstraktných tried v Jave

Ak chcete implementovať abstraktnú triedu v prostredí Java, musíme postupovať podľa nasledujúcich pokynov:



  • Abstraktná trieda musí byť deklarovaná pomocou abstraktné kľúčové slovo.
  • Abstraktné triedy môžu obsahovať abstraktné a nie abstraktné metódy.
  • Abstraktná trieda nemôže byť inštancovaný.
  • Môžu zahŕňať konštruktéri a statický metódy.
  • Abstraktná trieda obsahuje Konečný metódy.

Spôsoby dosiahnutia Abstrakcie v Jave

Proces Abstrakcie v Jave je možné dosiahnuť pomocou nasledujúcich dvoch metód, ktoré sú uvedené nižšie:

  1. Implementácia abstraktnej triedy
  2. Implementácia rozhrania

Syntax pre abstraktné triedy

Syntax pre definovanie abstraktných tried a abstraktných metód je nasledovná:

abstraktná trieda Edureka {}
metóda abstraktnej triedy ()

ako používať semafory v jave

Praktické príklady abstraktných tried

// Abstraktná trieda

balík Abstraktná verejná abstraktná trieda Osoba {private Názov reťazca private String rod verejná Osoba (String nm, String gen) {this.name = nm this.gender = gen} verejné abstraktné neplatné Štúdium () @Override public String toString () {návrat ' Name = '+ this.name +' :: Gender = '+ this.gender}}

// Študentská trieda

balíček Abstraktná verejná trieda Študent rozširuje Osoba {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 ('Pursuing a Bachelor in Engineering')}} public static void main (String args []) {Person student = new Student ('Priya', 'Žena', 0) Osoba študent1 = nový Študent ('Karan', 'Muž', 201021) Osoba študent2 = nový Študent ('Kumari', 'Žena', 101021) Osoba študent3 = nový Študent (' John ',' Male ', 201661) student.Studying () 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 ())}}

Výkon:

Neštudovať
Ukončenie vysokoškolského inžinierstva
Ukončenie vysokoškolského inžinierstva
Ukončenie vysokoškolského inžinierstva
Meno = Priya :: Pohlavie = Žena
Meno = Karan :: Pohlavie = Muž
Meno = Kumari :: Pohlavie = Žena
Meno = Ján :: Pohlavie = Muž

Rozdiel medzi rozhraním a abstraktnou triedou

Rozhranie Abstraktná trieda
Môže mať iba abstraktné metódyMôže mať abstraktné a neabstraktné metódy
Má iba konečné premennéZahŕňa nefinančné premenné
Má iba statické a konečné premennéMá statické, nestatické, konečné, nekoncové premenné
Nebude implementovať abstraktnú trieduMôže implementovať rozhranie
Implementované pomocou kľúčového slova „implementuje“Implementované pomocou kľúčového slova „extends“
Môže rozšíriť iba rozhranieMôže rozširovať triedy a rozhrania Java
Členovia sú predvolene verejníČlenovia môžu byť súkromní a chránení

// Príklad abstraktnej triedy

balíček abstactVSinterface abstraktná trieda Shape {String objectName = '' Shape (String name) {this.objectName = name} abstract public double area () abstract public void draw ()} class Rectangle extends Shape {int length, width Rectangle (int length, int width, String name) {super (name) this.length = length this.width = width} @Override public void draw () {System.out.println ('Rectangle is drawn')} @Override public double area () {return (double) (length * width)}} class Circle extends Shape {double pi = 3.14 int radius Circle (int radius, String name) {super (name) this.radius = radius} @Override public void draw () { System.out.println ('Circle is drawn')} @Override public double area () {return (double) ((pi * radius * radius) / 2)}} class Edureka {public static void main (String [] args ) {Tvar priamy = nový Obdĺžnik (20, 30, 'Obdĺžnik') System.out.println ('Plocha obdĺžnika:' + rect.area ()) Tvar kruh = nový Kruh (20, 'Cicle') System.out .println ('Plocha kruhu je:' + circle.area ())}}

Výkon:

Plocha obdĺžnika: 600,0
Plocha kruhu je: 628,0

reverzné číslice celého čísla python

// Príklad rozhrania

balíček rozhranie absVSint Tvar {void draw () double area ()} trieda Obdĺžnik implementuje Tvar {int dĺžka, šírka Obdĺžnik (int dĺžka, int šírka) {this.length = dĺžka this.width = width} @Override public void draw () {System.out.println ('Rectangle has been drawn')} @Override public double area () {return (double) (length * width)}} class Circle implements Shape {double pi = 3,14 int radius Circle (int radius) {this.radius = radius} @Override public void draw () {System.out.println ('Circle has been drawn')} @Override public double area () {return (double) ((pi * radius * radius) / 2)}} trieda Edureka {public static void main (String [] args) {Shape rect = new Rectangle (20, 30) System.out.println ('Plocha obdĺžnika:' + rect.area ()) Tvar kruhu = new Circle (20) System.out.println ('Plocha kruhu:' + circle.area ())}}

Výkon:

Plocha obdĺžnika: 600,0
Plocha kruhu: 628,0

Týmto sa dostávame na koniec tohto článku. Dúfam, že ste pochopili dôležitosť abstrakcie, syntaxe, funkčnosti, pravidiel abstrakcie v jazyku Java a praktických príkladov s nimi súvisiacich.

Teraz, keď ste porozumeli základom Java, sa pozrite na autor: Edureka, dôveryhodná online vzdelávacia spoločnosť so sieťou viac ako 250 000 spokojných študentov rozmiestnených po celom svete. Výcvikový a certifikačný kurz Edureka Java J2EE a SOA je určený pre študentov a profesionálov, ktorí chcú byť vývojármi Java. Kurz je navrhnutý tak, aby vám dal náskok v programovaní v Jave a naučil vás základné aj pokročilé koncepty Javy spolu s rôznymi rámcami Java, ako je Hibernate & Jar .

Máte na nás otázku? Uveďte to v sekcii komentárov v tomto blogu „Abstraktné triedy v Jave“ a my sa vám ozveme čo najskôr.