Što je apstrakcija u OOP-u?
Apstrakcija je koncept objektno orijentiranog programiranja koji "prikazuje" samo bitne atribute i "skriva" nepotrebne informacije. Glavna svrha apstrakcije je skrivanje nepotrebnih detalja od korisnika. Apstrakcija je odabir podataka iz većeg spremišta kako bi korisniku prikazali samo relevantne detalje objekta. Pomaže u smanjenju složenosti i napora u programiranju. To je jedan od najvažnijih koncepata OOP-a.
Kliknite ovdje ako videozapis nije dostupan
Proučimo apstrakciju u OOP-ima na primjeru:
Pretpostavimo da želite stvoriti bankovnu aplikaciju i da se od vas zatraži da prikupite sve podatke o svom klijentu. Postoje šanse da ćete doći do sljedećih podataka o kupcu
![](https://cdn.css-code.org/8644740/what_is_abstraction_in_oops_java_abstract_class_ampamp_method.png.webp)
Ali, svi gore navedeni podaci nisu potrebni za stvaranje bankarske aplikacije.
Dakle, iz tog skupa trebate odabrati samo korisne informacije za vašu bankovnu aplikaciju. Podaci poput imena, adrese, poreznih podataka itd. Imaju smisla za bankarsku aplikaciju koja je primjer apstrakcije u OOP-ovima
Budući da smo dohvatili / uklonili / odabrali podatke o kupcu iz većeg spremišta, postupak se naziva Abstrakcija u OOP-ovima.
Međutim, iste informacije koje se jednom izvade mogu se koristiti za širok raspon primjena. Na primjer, iste podatke možete koristiti za prijavu u bolnicu, prijavu portala za posao, vladinu bazu podataka itd. S malo ili nimalo izmjena. Dakle, to postaju vaši matični podaci. To je prednost apstrakcije u OOP-ovima.
Razlika između apstrakcije i inkapsulacije
Apstrakcija | Kapsulacija |
Apstrakcija u objektno orijentiranom programiranju rješava probleme na razini dizajna. | Inkapsulacija rješava razinu implementacije. |
Apstrakcija u programiranju odnosi se na skrivanje neželjenih detalja uz istodobno prikazivanje najvažnijih informacija. | Inkapsulacija znači povezivanje koda i podataka u jednu jedinicu. |
Apstrakcija podataka u Javi omogućuje fokusiranje na ono što informacijski objekt mora sadržavati | Inkapsulacija znači skrivanje unutarnjih detalja ili mehanike kako objekt nešto radi iz sigurnosnih razloga. |
Razlika između apstraktne klase i sučelja
Sažetak klase | Sučelje |
Apstraktna klasa može imati i apstraktne i apstraktne metode. | Sučelje može imati samo apstraktne metode. |
Ne podržava više nasljedstava. | Podržava više nasljeđa. |
Može pružiti implementaciju sučelja. | Ne može osigurati provedbu apstraktne klase. |
Apstraktna klasa može imati zaštićene i apstraktne javne metode. | Sučelje može imati samo javne apstraktne metode. |
Apstraktna klasa može imati konačnu, statičku ili statičku završnu varijablu s bilo kojim specifikatorom pristupa. | Sučelje može imati samo javnu statičku završnu varijablu. |
Što je sažetak?
Apstraktna klasa je vrsta klase u OOP-ovima koja deklarira jednu ili više apstraktnih metoda. Ove klase mogu imati apstraktne metode kao i konkretne metode. Normalna klasa ne može imati apstraktne metode. Apstraktna klasa je klasa koja sadrži barem jednu apstraktnu metodu.
Što su apstraktne metode?
Apstraktna metoda je metoda koja ima samo definiciju metode, ali ne sadrži implementaciju. Metoda bez tijela poznata je kao Apstraktna metoda. Mora se prijaviti u apstraktnoj klasi. Apstraktna metoda nikada neće biti konačna jer apstraktna klasa mora implementirati sve apstraktne metode.
Prednosti apstrakcije
- Glavna prednost upotrebe apstrakcije u programiranju je što vam omogućuje grupiranje nekoliko srodnih klasa kao braće i sestara.
- Apstrakcija u objektno orijentiranom programiranju pomaže smanjiti složenost procesa dizajniranja i implementacije softvera.
Kada koristiti apstraktne metode i sažetak?
Apstraktne metode uglavnom se deklariraju tamo gdje dvije ili više potklasa također rade istu stvar na različite načine kroz različite implementacije. Također proširuje istu klasu Sažetak i nudi različite implementacije apstraktnih metoda.
Apstraktne klase pomažu u opisivanju generičkih tipova ponašanja i hijerarhije klasa objektno orijentiranog programiranja. Također opisuje potklase koje nude detalje implementacije apstraktne klase.
Sažetak:
- Apstrakcija u programiranju postupak je odabira važnih skupova podataka za objekt u vašem softveru i izostavljanje onih beznačajnih.
- Nakon što modelirate svoj objekt pomoću Apstrakcije podataka u Javi, isti se skup podataka može koristiti u različitim aplikacijama.