Abstracte lessen in de gebruikers helpen om abstractie te bereiken, wat de meest cruciale objectgeoriënteerde programmeerpraktijken zijn die worden gevolgd tijdens het proces van softwareontwerp. In dit artikel zullen we de terminologie van abstracte klassen bespreken via de volgende rol.
- Wat zijn abstracte klassen in Java?
- Waarom hebben we abstracte klassen nodig in Java?
- Regels voor het gebruik van abstracte klassen in Java
- Manieren om abstractie te bereiken in Java
- De syntaxis voor abstracte klassen
- Praktische voorbeelden van abstracte klassen
- Verschil tussen interface en abstracte klasse
Wat zijn abstracte klassen in Java?
Abstracte lessen in fungeren als een grens tussen de implementatiemethode en zijn functionaliteit. Het wordt gebruikt om de functionaliteit tussen de Beton klasleden en de Abstract Klasse.
Abstracte klassen worden beschouwd als klassen die de Methode implementatie details van de gebruiker en toon alleen de Methode Functionaliteit. Ze worden gedeclareerd met behulp van het trefwoord abstract . Deze methoden kunnen zijn: Abstract en Niet abstract methoden in hen.
wat doet alert in javascript
Waarom hebben we abstracte klassen nodig in Java?
We hebben abstracte klassen in Java nodig om de volgende redenen:
- Ondersteuning voor abstracte klassen Dynamische methode resolutie in runtime
- Ze helpen gebruikers om te bereiken Losse koppeling
- Abstracte klassen scheiden de Methode Definitie van de Inherited Subklassen
- Ze bieden de Standaardfunctionaliteit van de gedefinieerde methode voor alle subklassen
- Abstracte klassen bieden een Sjabloon voor toekomstige specifieke lessen
- De abstracte klasse staat toe Code Herbruikbaarheid
Regels voor het gebruik van abstracte klassen in Java
Om een abstracte klasse in Java te implementeren, moeten we de onderstaande regels volgen:
- Een abstracte klasse moet worden gedeclareerd met de abstract trefwoord.
- Abstracte klassen kunnen bevatten abstract en niet abstract methoden.
- Een abstracte klasse kan dat niet zijn geïnstantieerd.
- Ze kunnen bevatten constructeurs en statisch methoden.
- Een abstracte klasse omvat laatste methoden.
Manieren om abstractie te bereiken in Java
Het abstractieproces in Java kan worden bereikt door de volgende twee methoden, zoals hieronder vermeld:
- Implementatie van een abstracte klasse
- Een interface implementeren
De syntaxis voor abstracte klassen
De syntaxis voor het definiëren van abstracte klassen en abstracte methoden is als volgt:
abstracte klasse Edureka {}
abstracte klasse Methode ()
Praktische voorbeelden van abstracte klassen
// Abstracte klasse
package Abstract public abstract class Person {private String name private String geslacht public Person (String nm, String gen) {this.name = nm this.gender = gen} public abstract void Studying () @Override public String toString () {return ' Naam = '+ this.name +' :: Geslacht = '+ this.gender}}
// Studentenklas
package Abstract public class Student verlengt Persoon {private int StudentID public Student (String nm, String gen, int id) {super (nm, gen) this.StudentID = id} @Override public void Studeren () {if (StudentID == 0 ) {System.out.println ('Not Studying')} anders {System.out.println ('Pursuing a Degree in Bachelor of Engineering')}} public static void main (String args []) {Person student = new Student ('Priya', 'Vrouw', 0) Persoon student1 = nieuwe student ('Karan', 'Man', 201021) Persoon student2 = nieuwe student ('Kumari', 'Vrouw', 101021) Persoon student3 = nieuwe student (' 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 ())}}
Uitgang:
wat is autoboxen in java
Niet studeren
Het behalen van een diploma in Bachelor of Engineering
Het behalen van een diploma in Bachelor of Engineering
Het behalen van een diploma in Bachelor of Engineering
Naam = Priya :: Geslacht = Vrouw
Naam = Karan :: Geslacht = Man
Naam = Kumari :: Geslacht = Vrouw
Naam = Jan :: Geslacht = Man
Verschil tussen interface en abstracte klasse
Koppel | Abstracte klasse |
Kan alleen abstracte methoden hebben | Kan abstracte en niet-abstracte methoden hebben |
Het heeft alleen definitieve variabelen | Het bevat niet-definitieve variabelen |
Het heeft alleen statische en definitieve variabelen | Het heeft statische, niet-statische, definitieve en niet-definitieve variabelen |
Zal de abstracte klasse niet implementeren | Kan een interface implementeren |
Geïmplementeerd met behulp van het trefwoord 'implementaties' | Geïmplementeerd met behulp van het trefwoord 'extends' |
Kan alleen een interface uitbreiden | Kan Java Classes en Interfaces uitbreiden |
Leden zijn standaard Openbaar | Leden kunnen privé en beschermd zijn |
// Voorbeeld van abstracte klassen
package abstactVSinterface abstracte klasse Shape {String objectName = '' Shape (String name) {this.objectName = name} abstract public double area () abstract public void draw ()} class Rectangle breidt Shape {int length, width Rectangle (int length, int breedte, String naam) {super (naam) this.length = lengte this.width = breedte} @Override public void draw () {System.out.println ('Rechthoek is getekend')} @Override openbaar dubbel gebied () {return (double) (length * width)}} class Circle breidt Shape uit {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 ) {Shape rect = nieuwe rechthoek (20, 30, 'Rectangle') System.out.println ('Area of rectangle:' + rect.area ()) Shape circle = new Circle (20, 'Cicle') System.out .println ('Gebied van cirkel is:' + circle.area ())}}
Uitgang:
mvc-architectuur in java met diagram
Oppervlakte van rechthoek: 600,0
Oppervlakte van cirkel is: 628,0
// Interface voorbeeld
pakket absVSint interface Shape {void draw () double area ()} class Rectangle implementeert Shape {int length, width Rectangle (int length, int width) {this.length = length this.width = width} @Override public void draw () {System.out.println ('Rectangle has been drawn')} @Override public double area () {return (double) (length * width)}} class Circle implementeert 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)}} class Edureka {public static void main (String [] args) {Shape rect = new Rectangle (20, 30) System.out.println ('Area of rectangle:' + rect.area ()) Shape circle = new Circle (20) System.out.println ('Area of circle:' + circle.area ())}}
Uitgang:
Oppervlakte van rechthoek: 600,0
Oppervlakte van cirkel: 628,0
Hiermee komen we aan het einde van dit artikel. Ik hoop dat je het belang van abstractie, syntaxis, functionaliteit, abstractieregels in Java en praktische voorbeelden die daarmee verband houden, hebt begrepen.
Nu u de basisprincipes van Java begrijpt, kunt u het door Edureka, een vertrouwd online leerbedrijf met een netwerk van meer dan 250.000 tevreden leerlingen verspreid over de hele wereld. De training- en certificeringcursus Java J2EE en SOA van Edureka is bedoeld voor studenten en professionals die Java-ontwikkelaar willen worden. De cursus is ontworpen om u een voorsprong te geven in het programmeren van Java en u te trainen in zowel kern- als geavanceerde Java-concepten samen met verschillende Java-frameworks zoals Hibernate De lente .
Heeft u een vraag voor ons? Vermeld het in de commentarensectie van deze 'Abstracte lessen in Java' -blog en we nemen zo snel mogelijk contact met u op.