O introducere completă la cursurile abstracte din Java



Acest articol vă va ajuta cu o abordare detaliată a claselor abstracte din Java împreună cu exemple pentru a înțelege conceptul într-un mod mult mai bun.

Cursuri abstracte în ajuta utilizatorii să realizeze abstractizarea, care este cea mai crucială practică de programare orientată pe obiecte urmată în timpul procesului de proiectare software. În acest articol, vom discuta terminologia claselor abstracte prin următorul dosar.

Ce sunt clasele abstracte în Java?

Cursuri abstracte în acționează ca o graniță între metoda de implementare și funcționalitatea acesteia. Este folosit pentru a schimba funcționalitatea între Beton membrii clasei și Abstract Clasă.





Abstract-Classes-in-Java-Edureka

Clasele abstracte sunt considerate acele clase care ascund Implementarea metodei detalii de la utilizator și afișează numai fișierul Funcționalitatea metodei. Acestea sunt declarate folosind cuvântul cheie abstract . Aceste metode pot include Abstract și Non-abstract metode în ele.

cum se inversează numărul în java

De ce avem nevoie de cursuri abstracte în Java?

Avem nevoie de cursuri abstracte în Java din următoarele motive:



  • Suport pentru cursuri abstracte Rezoluția metodei dinamice în timp de execuție
  • Ele ajută utilizatorii să realizeze Cuplaj slab
  • Clasele abstracte separă Definirea metodei de la Moștenit Subclasele
  • Acestea oferă Funcționalitate implicită a metodei definite pentru toate subclasele
  • Clasele abstracte oferă o Șablon pentru viitoarele clase specifice
  • Clasa abstractă permite Cod Reutilizare

Reguli pentru utilizarea claselor abstracte în Java

Pentru a implementa o clasă abstractă în Java, trebuie să respectăm regulile descrise mai jos:



  • O clasă abstractă trebuie declarată folosind abstract cuvânt cheie.
  • Clasele de abstract pot include abstract și non-abstract metode.
  • O clasă abstractă nu poate fi instanțiat.
  • Pot include constructori și static metode.
  • O clasă abstractă include final metode.

Modalități de realizare a abstractizării în Java

Procesul de abstractizare în Java poate fi realizat prin următoarele două metode menționate mai jos:

invocare metodă la distanță în java
  1. Implementarea unei clase abstracte
  2. Implementarea unei interfețe

Sintaxa pentru clasele abstracte

Sintaxa pentru definirea claselor abstracte și a metodelor abstracte este după cum urmează:

clasa abstractă Edureka {}
clasa abstractă Metodă ()

Exemple practice de clase abstracte

// Clasa abstractă

pachet Abstract public abstract class Person {private String name private String gender public Person (String nm, String gen) {this.name = nm this.gender = gen} public abstract void Studying () @Override public String toString () {return ' Name = '+ this.name +' :: Sex = '+ this.gender}}

// Clasa elevilor

pachet Rezumat public clasa Student extinde Persoană {private int StudentID public Student (String nm, String gen, int id) {super (nm, gen) this.StudentID = id} @Oride public void Studying () {if (StudentID == 0 ) {System.out.println ('Not Studying')} else {System.out.println ('Urmarea unei diplome în Bachelor of Engineering')}} public static void main (String args []) {Person student = new Student („Priya”, „Femeie”, 0) Persoană student1 = student nou („Karan”, „Bărbat”, 201021) Persoană student2 = student nou („Kumari”, „Femeie”, 101021) Persoană student3 = student nou („ John ',' Bărbat ', 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 ())}}

Ieșire:

Nu studiază
Urmărirea unei diplome în Bachelor of Engineering
Urmărirea unei diplome în Bachelor of Engineering
Urmărirea unei diplome în Bachelor of Engineering
Nume = Priya :: Sex = Femei
Nume = Karan :: Sex = Bărbat
Nume = Kumari :: Sex = Femei
Nume = Ioan :: Sex = Bărbat

Diferența dintre interfață și clasa abstractă

Interfață Clasa abstractă
Poate avea doar metode abstractePoate avea metode abstracte și non-abstracte
Are doar variabile finaleInclude variabile non-finale
Are numai variabile statice și finaleAre variabile statice, nestatice, finale, non-finale
Nu va implementa Clasa AbstractPoate implementa o interfață
Implementat folosind cuvântul cheie „instrumente”Implementat folosind cuvântul cheie „extends”
Poate extinde doar o interfațăPoate extinde cursurile și interfețele Java
Membrii sunt publici în mod implicitMembrii pot fi Privați și Protejați

// Exemplu de clasă abstractă

package abstactVSinterface abstract class 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 traseu')} @Override public double area () {return (double) (lungime * lățime)}} clasă Circle extinde Formă {double pi = 3,14 int radius Circle (int radius, String name) {super (name) this.radius = radius} @Oride public void draw () { System.out.println ('Cercul este desenat')} @Override 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 ('Area of ​​rectangle:' + rect.area ()) Shape circle = new Circle (20, 'Cicle') System.out .println ('Zona cercului este:' + cerc.area ())}}

Ieșire:

Suprafața dreptunghiului: 600,0
Aria cercului este: 628,0

// Exemplu de interfață

pachet absVSint interface Shape {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 ('Rectangle a fost desenat')} @Override public double area () {return (double) (lungime * lățime)}} clasă Cercuri implementează Formă {dublu pi = 3,14 raza int Cercul (raza int) {this.radius = radius} @Override public void draw () {System.out.println ('Cercul a fost desenat')} @Override public double area () {return (double) ((pi * radius * radius) / 2)}} clasa Edureka {public static void main (String [] args) {Shape rect = new Rectangle (20, 30) System.out.println ('Area of ​​rectangle:' + rect.area ()) Shape circle = nou Circle (20) System.out.println ('Zona cercului:' + circle.area ())}}

Ieșire:

Suprafața dreptunghiului: 600,0
Suprafața cercului: 628,0

Cu aceasta, ajungem la sfârșitul acestui articol. Sper că ați înțeles importanța abstractizării, sintaxei, funcționalității, regulilor de abstractizare în Java și exemple practice legate de acestea.

Acum că ați înțeles elementele de bază ale Java, verificați de Edureka, o companie de învățare online de încredere, cu o rețea de peste 250.000 de elevi mulțumiți răspândiți pe tot globul. Cursul de formare și certificare Java J2EE și SOA al Edureka este conceput pentru studenți și profesioniști care doresc să fie dezvoltator Java. Cursul este conceput pentru a vă oferi un început important în programarea Java și pentru a vă instrui atât pentru conceptele Java de bază, cât și pentru cele avansate, împreună cu diverse cadre Java, cum ar fi Hibernate și Primăvară .

Ai o întrebare pentru noi? Menționați-l în secțiunea de comentarii a acestui blog „Clase abstracte în Java” și vă vom contacta cât mai curând posibil.

ce este un browser sqlite