Java abstrakcija - OOP apguve ar abstrakciju Java



Šis raksts par Java Abstraction palīdzēs izprast abstraktās klases un saskarnes lietojumu un to, kā to panākt, izmantojot Abstraction.

Iepriekšējā emuārā jūs uzzinājāt par Java valodā. Šajā emuārā mēs sapratīsim vēl vienu svarīgu pīlāru t.i., Java Abstraction, kuras galvenā funkcija ir slēpt iekšējās ieviešanas detaļas.

Šajā rakstā apskatīšu zemāk minētās tēmas:





Jūs varat arī iziet šo ierakstu kur jūs varat detalizēti izprast tēmas ar piemēriem.



Abstrakcija OOP

Kad mēs parasti runājam par abstrakciju, programmatūras valoda ir abstrakcijas piemērs. Ņemsim piemēru un uzrakstīsim paziņojumu

x = y + z

Iepriekš minētajā paziņojumā mēs pievienojam divus mainīgos, kas tiek glabāti divās dažādās vietās, un pēc tam rezultātu uzglabā jaunā vietā. Tātad, kas notiks tālāk? Kā jūs zināt, ir iesaistīti reģistri, instrukciju komplekti, programmu skaitītāji, krātuves utt. Kad mēs atsaucamies uz Java abstrakciju, mēs runājam par abstrakciju in Java un kā tas tiek sasniegts. Abstrakcijas jēdziens OOP sākas tieši brīdī, kad klase tiek iecerēta. Abstrakcija tiek izmantota visur programmatūrā un OOP.



Kas ir Java abstrakcija?

Abstrakcija nav nekas cits kā ideju, nevis notikumu risināšanas kvalitāte. Tas būtībā nodarbojas ar iekšējo detaļu slēpšanu un būtisko lietu parādīšanu lietotājam.

sql servera apmācība iesācējiem ar piemēriem

Zvanīšana - Java abstrakcija -Edureka

Ja paskatās uz iepriekšējo gif, jūs varat redzēt, kad saņemat zvanu, mēs saņemam iespēju vai nu to uzņemt, vai vienkārši noraidīt. Bet patiesībā ir daudz kodu, kas darbojas fonā. Tātad šeit jūs nezināt zvana ģenerēšanas iekšējo apstrādi, tas ir abstrakcijas skaistums. Abstrakciju var sasniegt divos veidos:

a) Abstrakta klase

b) Saskarne

Sapratīsim šos jēdzienus sīkāk.

Abstrakta klase

Kopsavilkuma klasē ir atslēgvārds abstrakts. Bet ko tas īsti nozīmē? Ja klasi padarāt par abstraktu, to nevar instantizēt, t.i., nevar izveidot abstraktas klases objektu. Arī abstraktā klase var saturēt gan abstraktas, gan konkrētas metodes.

Piezīme: Izmantojot abstraktu klasi, jūs varat sasniegt 0-100% abstrakciju.

Lai izmantotu abstraktu klasi, tā ir jāpārmanto no pamatklases. Šeit jums jānodrošina abstrakto metožu ieviešana, pretējā gadījumā tā kļūs par abstraktu klasi.

iet ar atsauci java

Apskatīsim abstraktas klases sintaksi:

Abstract klases sports {// abstrakts klases sports Abstract void jump () // abstraktā metode}

Saskarne

Java saskarne ir abstraktu metožu un statisko konstantu kolekcija. Kā jūs varētu zināt saskarnē, katra metode ir publiska un abstrakta, taču tajā nav neviena konstruktora. Kopā ar abstrakciju interfeiss arī palīdz sasniegt vairākkārtēju Java mantojumu.
Piezīme: Izmantojot saskarnes, jūs varat sasniegt 100% abstrakciju.

Būtībā interfeiss ir saistītu metožu grupa ar tukšiem ķermeņiem. Ļaujiet mums saprast saskarnes, ņemot parauga saskarnes piemēru ar saistītajām metodēm.

publiskās saskarnes forma {public void draw () public double getArea ()}

Šīm metodēm jābūt klāt visās “formās”, vai ne? Bet viņu darbs būs atšķirīgs.

Pieņemsim, ka vēlaties uzzīmēt formu, teiksim, apli, kvadrātu, taisnstūri utt. Jūs jau zināt, katrai formai ir savi izmēri, piemēram, rādiuss, augstums un platums. Sakiet, ka es gribu uzzīmēt apli un aprēķināt tā laukumu. Ņemot vērā to pašu, es iepriekš izveidotajā kodā esmu izveidojis divas metodes, t.i., draw () un getArea (). Tagad, izmantojot šīs metodes, es varu uzzīmēt jebkuru formu un aprēķināt laukumu, ieviešot tā saskarni.

Apskatīsim funkcionalitāti, kā jūs varat ieviest šo saskarni.
Lai ieviestu šo saskarni, jūsu klases nosaukums mainītos uz jebkuru no formas, pieņemsim, ka “Loks”. Tātad, lai ieviestu klases saskarni, es izmantošu ‘implement’ atslēgvārdu:

public class Circle realizē Shape {private double radius public Circle (double r) {this.radius = r} void draw () {System.out.println ('Drawing Circle')} public double getArea () {return Math.PI * this.radius * this.radius} public double getRadius () {return this.radius}} public class Test {public static void main (String args []) {Shape c = new Circle (8) c.draw () System. out.println ('Area =' + c.getArea ())}}

Iepriekš minētajā piemērā es norādīju funkcionalitāti dažādām metodēm un aprēķinātajam apļa laukumam. Šeit, ieviešot saskarni, tas ļauj klasei kļūt oficiālākai par tās sniegto izturēšanos. Varat arī izveidot citu klasi, teiksim “Taisnstūra” klasi, kas var mantot vienu un to pašu saskarnes “formu” ar dažādām funkcijām.

Reāllaika abstrakcijas piemērs java

Pieņemsim, ka mums kā sports ir interfeiss. Šeit ieviešanu nodrošinās klases ar nosaukumu “Badmintons” un “Futbols”. Reālā scenārijā galalietotājs nezinās par ieviešanas klasi. Tādējādi ieviešanas klases objektu var nodrošināt ar rūpnīcas metodi. Rūpnīcas metodi var izmantot, lai izveidotu ieviešanas klases objektu, pamatojoties uz kādu kritēriju.
Īstenosim to pašu un izveidosim interfeisu ar nosaukumu Sport.java.

public Interface Sport {void play ()} // Tagad mēs izveidosim klasi ar nosaukumu “Badminton”. Sabiedriskā klase Badmintons īstenos Sport {@Override public void play () {System.out.println ('Badmintona spēlēšana')}} // Pēc tam izveidosim mūsu pēdējās klases “Futbols” publisko klasi Futbols īsteno sportu {@Orride public void play () {System.out.println ('Futbola spēlēšana')}

Pēdējais solis ir izveidot galveno klasi ar nosaukumu “SportInterface”.

public SportInterface {public static void main (String args []) {// jūsu kods šeit}}

Izpildot iepriekš minēto programmu, izeja būs šāda:

Spēlē badmintonu ------------------- Spēlē futbolu

Es ceru, ka jums, puiši, ir skaidrs interfeiss un kā jūs varat sasniegt abstrakciju, izmantojot to. Noslēgsim šo rakstu, salīdzinot abstrakciju un iekapsulēšanu.

Abstrakcija pret iekapsulēšanu

Abstrakcija Iekapsulēšana
Atrisina problēmu dizaina līmenīAtrisina problēmu ieviešanas līmenī
Izmanto nevēlamu datu slēpšanai un atbilstošu rezultātu sniegšanaiIekapsulēšana nozīmē koda un datu slēpšanu vienā vienībā, lai aizsargātu datus no ārpasaules
Ārējais izkārtojums - izmantots dizaina ziņāIekšējais izkārtojums - tiek izmantots ieviešanas ziņā

Es ceru, ka jūs sapratāt atšķirību starp abstrakciju un iekapsulēšanu. Ar to mēs esam pabeiguši Java Abstraction emuāru. Ceru, ka jums tas šķita informatīvs, un tas palīdzēja jūsu zināšanām pievienot vērtību. Ja vēlaties uzzināt vairāk par Java, varat atsaukties uz

ja paziņojumi sql vaicājumos

Tagad, kad esat sapratis “Kas ir Java abstrakcija”, pārbaudiet Autors: Edureka, uzticams tiešsaistes mācību uzņēmums ar vairāk nekā 250 000 apmierinātu izglītojamo tīklu visā pasaulē. Edureka Java J2EE un SOA apmācības un sertifikācijas kurss ir paredzēts studentiem un profesionāļiem, kuri vēlas būt Java izstrādātāji. Kurss ir paredzēts, lai dotu jums iespēju sākt Java programmēšanu un apmācīt gan Java, gan uzlabotas koncepcijas, kā arī dažādas Java struktūras, piemēram, Hibernate & Spring.

Vai mums ir jautājums? Lūdzu, pieminējiet to šī emuāra “Java Abstraction” komentāru sadaļā, un mēs sazināsimies ar jums pēc iespējas ātrāk.