Abstrakta klasser i hjälpa användarna att uppnå abstraktion, vilket är den viktigaste objektorienterade programmeringsmetoden som följs under processen för programvarudesign. I den här artikeln ska vi diskutera terminologin för abstrakta klasser genom följande docket.
- Vad är abstrakta klasser i Java?
- Varför behöver vi abstrakta klasser i Java?
- Regler för användning av abstrakta klasser i Java
- Sätt att uppnå abstraktion i Java
- Syntaxen för abstrakta klasser
- Praktiska exempel på abstrakta klasser
- Skillnad mellan gränssnitt och abstrakt klass
Vad är abstrakta klasser i Java?
Abstrakta klasser i fungera som en gräns mellan implementeringsmetoden och dess funktionalitet. Den används för att utbyta funktionalitet mellan Betong klassmedlemmar och Abstrakt Klass.
Abstrakta klasser betraktas som de klasser som döljer Metodimplementering information från användaren och visar endast Metod Funktionalitet. De deklareras med hjälp av nyckelordet abstrakt . Dessa metoder kan inkludera Abstrakt och Icke-abstrakt metoder i dem.
fördelarna med jquery jämfört med javascript
Varför behöver vi abstrakta klasser i Java?
Vi behöver abstrakta klasser i Java av följande skäl:
- Abstrakta klasser stöd Dynamisk metodupplösning i körtid
- De hjälper användare att uppnå Lös koppling
- Abstrakta klasser skiljer Metod Definition från den ärvda Underklasser
- De tillhandahåller Standardfunktionalitet av den definierade metoden för alla underklasser
- Abstrakta klasser ger en Mall för framtida specifika klasser
- Den abstrakta klassen tillåter Koda Återanvändbarhet
Regler för användning av abstrakta klasser i Java
För att implementera en abstrakt klass i Java måste vi följa reglerna som beskrivs nedan:
- En abstrakt klass måste förklaras med hjälp av abstrakt nyckelord.
- Abstrakta klasser kan inkludera abstrakt och icke-abstrakt metoder.
- En abstrakt klass kan inte vara instanserad.
- De kan inkludera konstruktörer och statisk metoder.
- En abstrakt klass inkluderar slutlig metoder.
Sätt att uppnå abstraktion i Java
Processen för abstraktion i Java kan uppnås med följande två metoder som nämns nedan:
- Implementering av en abstrakt klass
- Implementering av ett gränssnitt
Syntaxen för abstrakta klasser
Syntaxen för att definiera abstrakta klasser och abstrakta metoder är som följer:
abstrakt klass Edureka {}
abstrakt klass Metod ()
Praktiska exempel på abstrakta klasser
// Abstrakt klass
paket Abstrakt offentlig abstrakt klass Person {privat Strängnamn privat Sträng kön offentlig person (Sträng nm, Sträng gen) {detta.namn = nm this.gender = gen} offentligt abstrakt ogiltigt Studier () @ Override offentligt Sträng toString () {return ' Namn = '+ detta.namn +' :: Kön = '+ detta.gender}}
// Studentklass
paket Abstrakt offentlig klass Student utökar Person {privat int StudentID offentlig student (String nm, String gen, int id) {super (nm, gen) this.StudentID = id} @Override public void Studing () {if (StudentID == 0 ) {System.out.println ('Studerar inte')} annat {System.out.println ('Pursuing a Degree in Bachelor of Engineering')}} offentlig statisk ogiltig huvud (String args []) {Personstudent = ny student ('Priya', 'Kvinna', 0) Personstudent1 = ny student ('Karan', 'Man', 201021) Personstudent2 = ny student ('Kumari', 'Kvinna', 101021) Personstudent3 = ny student (' John ',' Man ', 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 ())}}
Produktion:
Studerar inte
Forskar en examen i kandidatexamen
Forskar en examen i kandidatexamen
Forskar en examen i kandidatexamen
Namn = Priya :: Kön = Kvinna
Namn = Karan :: Kön = Man
Namn = Kumari :: Kön = Kvinna
Namn = John :: Kön = Man
vad är en instansvariabel i Java
Skillnad mellan gränssnitt och abstrakt klass
Gränssnitt | Abstrakt klass |
Kan bara ha abstrakta metoder | Kan ha abstrakta och icke-abstrakta metoder |
Den har bara slutliga variabler | Den innehåller icke-slutliga variabler |
Den har endast statiska och slutliga variabler | Den har statiska, icke-statiska, slutliga, icke-slutliga variabler |
Kommer inte att genomföra abstraktklassen | Kan implementera ett gränssnitt |
Implementeras med hjälp av 'implementerar' nyckelord | Implementerad med 'utökar' nyckelord |
Kan endast förlänga ett gränssnitt | Kan utöka Java-klasser och gränssnitt |
Medlemmar är offentliga som standard | Medlemmar kan vara privata och skyddade |
// Abstrakt klassexempel
paket abstactVSinterface abstrakt klass Shape {String objectName = '' Shape (String name) {this.objectName = name} abstract public double area () abstract public void draw ()} class Rectangle extends Shape {int längd, bredd Rektangel (int längd, int-bredd, Strängnamn) {super (namn) this.length = längd this.width = width} @Override public void draw () {System.out.println ('Rectangle is drawn')} @Override public double area () {retur (dubbel) (längd * bredd)}} klass Cirkel sträcker sig Form {dubbel pi = 3,14 int radie Cirkel (int radie, Strängnamn) {super (namn) this.radius = radie} @ Överstyr offentligt tomrum () System.out.println ('Cirkeln dras')} @Override offentligt dubbelområde () {retur (dubbel) ((pi * radie * radie) / 2)}} klass Edureka {offentligt statiskt tomrum huvud (String [] args ) {Shape rect = new Rectangle (20, 30, 'Rectangle') System.out.println ('Area of rectangle:' + rect.area ()) Shape circle = new Circle (20, 'Cicle') System.out .println ('Cirkelområdet är:' + cirkel.område ())}}
Produktion:
Area av rektangel: 600,0
Cirkelområde är: 628.0
// Exempel på gränssnitt
paket absVSint-gränssnitt Form {void draw () double area ()} class Rectangle implement Shape {int length, width Rectangle (int length, int width) {this.length = length this.width = width} @ Override public void draw () {System.out.println ('Rektangel har ritats')} @ Överstyr offentligt dubbelområde () {retur (dubbel) (längd * bredd)}} klass Cirkelredskap Form {dubbel pi = 3,14 intradie Cirkel (intradie) {this.radius = radius} @Override public void draw () {System.out.println ('Circle has been drawn')} @Override public double area () {return (double) ((pi * radius * radius) / 2)}} klass Edureka {public static void main (String [] args) {Shape rect = new Rectangle (20, 30) System.out.println ('Area of rectangle:' + rect.area ()) Shape circle = ny cirkel (20) System.out.println ('Cirkelområde:' + cirkel.område ())}}
Produktion:
Area av rektangel: 600,0
Cirkelområde: 628.0
Med detta kommer vi till ett slut på den här artikeln. Jag hoppas att du har förstått vikten av abstraktion, syntax, funktionalitet, regler för abstraktion i Java och praktiska exempel relaterade till dem.
vad är aggregering i java
Nu när du har förstått grunderna i Java, kolla in av Edureka, ett pålitligt inlärningsföretag online med ett nätverk av mer än 250 000 nöjda elever spridda över hela världen. Edurekas Java J2EE- och SOA-utbildning och certifieringskurs är utformad för studenter och yrkesverksamma som vill vara Java-utvecklare. Kursen är utformad för att ge dig ett försprång till Java-programmering och träna dig för både kärn- och avancerade Java-koncept tillsammans med olika Java-ramverk som Hibernate & Vår .
Har du en fråga till oss? Nämn det i kommentarsektionen i denna “Abstrakta klasser i Java” -bloggen så kommer vi tillbaka till dig så snart som möjligt.