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?
- Prečo potrebujeme abstraktné triedy v Jave?
- Pravidlá používania abstraktných tried v Jave
- Spôsoby dosiahnutia Abstrakcie v Jave
- Syntax pre abstraktné triedy
- Praktické príklady abstraktných tried
- Rozdiel medzi rozhraním a abstraktnou triedou
Č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.
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:
- Implementácia abstraktnej triedy
- 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ódy | Môž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ú triedu | Môže implementovať rozhranie |
Implementované pomocou kľúčového slova „implementuje“ | Implementované pomocou kľúčového slova „extends“ |
Môže rozšíriť iba rozhranie | Môž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.