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?
- Miért van szükségünk absztrakt osztályokra a Java-ban?
- Az elvont osztályok Java használatának szabályai
- Az absztrakció elérésének módjai a Java-ban
- Az absztrakt osztályok szintaxisa
- Gyakorlati példák absztrakt órákra
- Különbség az interfész és az absztrakt osztály között
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.
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:
- Absztrakt osztály megvalósítása
- 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 lehetnek | Rendelkezhetnek elvont és nem absztrakt módszerekkel |
Csak végső változók vannak benne | Nem végleges változókat tartalmaz |
Csak statikus és végső változókat tartalmaz | Statikus, nem statikus, végleges, nem végleges változókkal rendelkezik |
Nem hajtja végre az Absztrakt osztályt | Meg tudja valósítani az interfészt |
„Megvalósítás” kulcsszóval valósult meg | A „kiterjeszti” kulcsszóval valósult meg |
Csak az interfészt bővítheti | Bővítheti a Java osztályokat és interfészeket |
A tagok alapértelmezés szerint nyilvánosak | A 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.