Aflați abstracția datelor în Java

Publicat: 2021-11-11

Conceptul de abstractizare a datelor poate fi explicat printr-un exemplu din viața reală. Să luăm în considerare un exemplu în care un șofer care conduce un vehicul știe că aplicarea frânelor va împiedica vehiculul să se deplaseze mai departe. Deci singura informație pe care o cunoaște șoferul este că trebuie să-și oprească vehiculul din mișcare, așa că acţionează frânele. Dar el nu cunoaște mecanismul de bază cu privire la modul în care vehiculul se oprește atunci când este aplicată o frână. Deci acest concept poate fi comparat cu conceptul de abstractizare a datelor unde sunt afișate doar informațiile care trebuie cunoscute de utilizator. Informațiile de bază sunt păstrate ascunse. Deci, acesta este conceptul de abstractizare, iar atunci când este aplicat în date, este cunoscut sub numele de abstractizare a datelor.

Programarea orientată pe obiecte oferă modalități de utilizare a conceptului de abstractizare a datelor. Java este una din programarea orientată pe obiecte, urmează caracteristica de abstractizare a datelor. În aceste limbaje de programare, clasele abstracte și interfețele sunt folosite pentru a realiza abstractizarea datelor.

Procesul de abstractizare a datelor în Java este realizat prin clasele abstracte ale clasei. Interfețele sunt, de asemenea, folosite pentru abstracția datelor, în afară de clasele abstracte. Cuvântul cheie „abstract” este folosit ca un modificator de non-acces pentru metode și clase. Când este definită cu cuvântul cheie acces, o clasă este o clasă abstractă în care nu este permisă crearea de obiecte. Accesarea clasei abstracte este posibilă numai dacă este moștenită de la o altă clasă. Metodele abstracte sunt acele metode care pot fi utilizate numai în clasele abstracte. Aceste metode nu au un corp de metodă.

Subclasa furnizează în general corpul. Clasele abstracte pot conține metode care sunt atât obișnuite, cât și abstracte.

Cuprins

Diferențele dintre o clasă abstractă și o metodă abstractă

Diferențele dintre o clasă abstractă și o metodă abstractă sunt:

1. Clasele abstracte sunt acele clase care sunt declarate cu cuvântul cheie abstract.

2. O metodă abstractă este un astfel de tip de metodă care este declarată fără implementarea sa.

3. O clasă abstractă nu trebuie să aibă în sine toate metodele metodelor abstracte. Poate conține și metode care nu sunt abstracte.

4. Ori de câte ori o metodă este definită ca metodă abstractă, ar trebui să fie definită din nou în subclasă. Acest lucru va face ca anularea să fie obligatorie și, de asemenea, subclasa va fi abstractă.

5. Dacă vreo clasă conține metode abstracte, fie că este o metodă abstractă sau mai multe, ea ar trebui declarată abstractă folosind cuvântul cheie abstract.

6. O clasă abstractă nu poate conține niciun obiect. Un operator nou nu poate fi folosit pentru a instanția clasa abstractă.

7. Există întotdeauna prezența constructorilor impliciti într-o clasă abstractă. De asemenea, constructorii parametrizați pot fi prezenți într-o clasă abstractă.

Clasa Java Abstract

Limbajul de programare Java implementează abstractizarea prin clase abstracte. O clasă abstractă poate fi definită ca acea clasă care este declarată cu cuvântul cheie „abstract” cu o instrucțiune specială pe care aceste clase nu pot fi instanțiate. Aceste clase pot conține sau nu metode abstracte.

Sintaxa unei clase abstracte în Java este prezentată mai jos.

Codul de mai sus este preluat de la https://www.softwaretestinghelp.com/what-is-abstraction-in-java/ .

În sintaxa de mai sus, se poate observa că atât metodele abstracte, cât și cele non-abstracte pot fi conținute într-o clasă abstractă. De asemenea, cuvântul cheie „abstract” este plasat înaintea declarației clasei.

Citiți mai multe despre clasa java abstractă aici

Metoda abstractă Java

Metodele abstracte Java sunt acele metode care sunt precedate de cuvântul cheie „abstract”, dar nu există nicio implementare a metodelor. Metodele abstracte Java sunt declarate în cadrul clasei abstracte Java.

Din cauza metodelor abstracte, clasa abstractă Java devine incompletă deoarece metodele nu pot fi implementate. Prin urmare, includerea unei forme abstracte în clasa abstractă face în mod natural clasa abstractă incompletă.

Implementarea sa în subclasă poate folosi metoda abstractă. Această subclasă va moșteni clasa abstractă și va realiza implementarea metodelor abstracte. Sintaxa generală a metodei abstracte este

abstract void methodName (lista_parametri);

Puține reguli ar trebui remarcate în timpul scrierii metodei rezumatului

  • Dacă o clasă conține mai multe metode abstracte, atunci clasa va deveni o clasă abstractă.
  • Nu ar trebui să existe alte cuvinte cheie decât „abstract” în timp ce definiți clasa abstractă și metodele.

Având în vedere punctele de mai sus, următoarele posibilități nu sunt permise în Java.

  • final
  • nativ abstract
  • static abstract
  • abstract privat
  • abstract sincronizat
  • strictfp abstract

Un exemplu de abstractizare a datelor în Java este prezentat mai jos.

https://www.javatpoint.com/how-to-achieve-abstraction-in-java .

Codul de mai sus este preluat de la https://www.softwaretestinghelp.com/what-is-abstraction-in-java/ .

În codul prezentat mai sus, există o clasă Bank. Există o metodă abstractă în cadrul clasei Bank care este getInterestRate(). Sunt declarate alte două clase BOI și ICICI, care moștenesc clasa Bank. Aceste clase declarate moștenesc clasa Bank și, prin urmare, implementează metoda getInterestRate() returnând ratele dobânzii.

Un obiect al Băncii este creat în metoda primară. Obiectul Bancii este alcatuit dintr-un obiect de clasa ICICI care afiseaza rata dobanzii. În pasul următor, este creat și obiectul clasei BOI, care afișează rata dobânzii.

Abstracția datelor prin interfață

Interfețele sunt similare cu clasele Java, singura diferență fiind că există metode goale într-o interfață. De asemenea, poate fi definit ca clase care constau din metode abstracte și constante statice. Fiecare metodă prezentă în interfață este publică și nu conține niciun constructor. Interfața este folosită pentru realizarea abstracției datelor și, de asemenea, este folosită pentru a efectua moșteniri multiple în Java.

Câteva caracteristici ale interfețelor în Java sunt:

  • Interfețele pot fi folosite pentru a obține o abstractizare totală.
  • O singură clasă poate folosi mai multe interfețe care duc la realizarea mai multor interfețe.
  • Interfețele permit realizarea cuplajului liber.

Sintaxa interfeței este prezentată mai jos:

Sintaxa de mai sus este folosită de la https://www.javatpoint.com/how-to-achieve-abstraction-in-java .

O interfață poate fi utilizată prin cuvântul cheie „implemente”.

Câteva diferențe între clasele abstracte și interfață sunt:

  • Atât metodele abstracte, cât și cele non-abstracte pot fi conținute în clasele abstracte. În timp ce, într-o interfață, pot fi prezente doar metodele abstracte.
  • Variabilele finale pot fi prezente sau nu în clasele abstracte. În interfețe, variabilele pot fi finale ca variabile implicite.
  • Rezumatul clasei poate avea variabile care sunt nefinale, finale, non-statice sau statice. În timp ce, într-o interfață, pot fi prezente doar variabilele statice și finale.
  • Clasa abstractă permite implementarea interfețelor. O clasă abstractă nu poate fi implementată într-o interfață.
  • Moștenirea unei clase abstracte se face prin cuvântul cheie „se extinde”. Implementarea interfeței se face prin cuvântul cheie „implemente”.
  • Clasa abstractă poate implementa mai multe interfețe, sau alte clase pot fi extinse de către clasa abstractă. În timp ce o interfață poate permite implementarea doar a unei alte interfețe.
  • În afară de membrii publici, atât membrii de date care sunt protejați, cât și cei privați sunt conținute într-o clasă abstractă. În timp ce membrii unei interfețe sunt în mod implicit public.

Învață cursuri de software online de la cele mai bune universități din lume. Câștigă programe Executive PG, programe avansate de certificat sau programe de master pentru a-ți accelera cariera.

Concluzie

Articolul a descris conceptele de abstractizare a datelor și a enumerat modul în care poate fi realizată abstracția datelor în Java. Pentru a obține mai multă experiență în limbajul de programare Java, puteți verifica Cursul de dezvoltare software oferit de upGrad. Cursul este conceput pentru profesioniști care lucrează și vă va instrui cu proiecte orientate spre industrie care vor dezvolta abilitățile de programare necesare. Mai multe informații pot fi preluate de pe site-ul nostru. Pentru orice informație și ajutor, echipa noastră de asistență poate fi contactată.

Ce este abstracția datelor?

Abstracția datelor este un concept de proiectare software. Problema pe care o rezolvă este de a crea structuri și funcții de date care sunt independente de tipurile de date pe care operează. Izolează codul de tipurile de date și permite folosirea aceluiași cod în mai multe situații. Abstracția datelor se realizează atunci când datele care sunt reprezentate de structura de date și operațiunile care pot fi aplicate acestora sunt clar definite. Abstracția este vitală în dezvoltarea software-ului. Este una dintre forțele fundamentale care duc la un software mai simplu, mai mic și mai fiabil. Abstracția datelor este o componentă vitală a limbajelor de nivel înalt.

Care sunt avantajele abstractizării în Java?

Cum se realizează abstractizarea în Java?

Abstracțiile în java se fac folosind interfețe. Pentru a implementa interfața, trebuie să furnizați și implementarea. De fapt, nu este nevoie de moștenirea claselor pentru a implementa interfața. Interfețele sunt la fel ca orice altă clasă din Java. Ceea ce îi face diferiți este faptul că au o singură metodă.