Uz objektu orientēta programmēšana jeb labāk pazīstama kā OOP ir viens no galvenajiem Java pīlāriem, kas ir izmantojis savu jaudu un ērtu lietošanu. Lai kļūtu par profesionālu Java izstrādātāju, jums jāpārvar nevainojama kontrole pār dažādiem patīk , Abstrakcija , Iekapsulēšana un polimorfisms. Izmantojot šo rakstu, es sniegšu jums pilnīgu ieskatu vienā no vissvarīgākajiem OOP jēdzieniem, t.i., Iekapsulēšana Java un kā tas tiek sasniegts.
Tālāk ir norādītas tēmas, kuras es apspriedīšu šajā rakstā:
kas ir java pupas
- Ievads iekapsulēšanā
- Kāpēc mums nepieciešama iekapsulēšana Java?
- Iekapsulēšanas priekšrocības
- Reāllaika piemērs
Jūs varat arī iziet šo ierakstu kur jūs varat detalizēti izprast tēmas ar piemēriem.
Ievads iekapsulēšanā
Iekapsulēšana attiecas uz datu iesaiņošanu zem vienas vienības. Tas ir mehānisms, kas saista kodu un datus, ar kuriem tas manipulē. Vēl viens veids, kā domāt par iekapsulēšanu, ir aizsargājošs vairogs, kas neļauj kodam piekļūt datiem ārpus šī vairoga. Šajā mainīgie vai dati a ir paslēpts no jebkuras citas klases un tam var piekļūt tikai, izmantojot jebkuras savas klases dalībnieka funkciju, kurā viņi ir deklarēti.
Tagad pieņemsim medicīniskās kapsulas piemēru, kur zāles kapsulas iekšienē vienmēr ir drošas. Līdzīgi, izmantojot iekapsulēšanu, klases metodes un mainīgie ir labi paslēpti un droši.
Iekapsulēšanu Java var panākt:
- Klases mainīgo pasludināšana par privātiem.
- Nodrošināt publiskas setera un labāka metodes mainīgo vērtību modificēšanai un skatīšanai.
Apskatīsim kodu, lai labāk izprastu iekapsulēšanu:
public class Student {private String name public String getName () {return name} public void setName (String name) {this.name = name}} klases tests {public static void main (String [] args) {Student s = new Student () s.setName ('Harijs Poters') System.out.println (s.getName ())}}
Kā redzat iepriekš minētajā kodā, esmu izveidojis klases studentu, kuram ir privāts nosaukums . Pēc tam esmu izveidojis marķieri un iestatītāju, lai iegūtu un iestatītu studenta vārdu. Ar šo metožu palīdzību jebkurai klasei, kas vēlas piekļūt nosaukuma mainīgajam, tas jādara, izmantojot šīs getter un setter metodes.
Tagad aplūkosim vēl vienu piemēru un padziļināti sapratīsim iekapsulēšanu. Šajā piemērā automašīnu klasei ir divi lauki - nosaukums un topSpeed. Šeit abi tiek pasludināti par privātiem, kas nozīmē, ka tiem nevar piekļūt tieši ārpus klases. Mums ir dažas labākās un iestatītākās metodes, piemēram, getName, setName, setTopSpeed utt., Un tās tiek pasludinātas par publiskām. Šīs metodes ir pakļautas “nepiederošām personām”, un tās var izmantot, lai mainītu un izgūtu datus no objekta Automašīna. Mums ir viena metode transportlīdzekļa maksimālā ātruma iestatīšanai un divas labākas metodes, lai iegūtu maksimālo ātruma vērtību MPH vai KMHt. Tātad būtībā to dara iekapsulēšana - tā slēpj ieviešanu un dod mums vēlamās vērtības. Apskatīsim tālāk redzamo kodu.
pakete Edureka public class Car {private String name private double topSpeed public Car () {} public String getName () {return name} public void setName (String name) {this.name = name} public void setTopSpeed (double speedMPH) {topSpeed = speedMPH} public double getTopSpeedMPH () {return topSpeed} public double getTopSpeedKMH () {return topSpeed * 1.609344}}
Šeit galvenā programma izveido objektu Auto ar noteiktu vārdu un izmanto setter metodi, lai saglabātu maksimālo ātrumu šim gadījumam. To darot, mēs varam viegli iegūt ātrumu MPH vai KMH, nerūpējoties par to, kā ātrums tiek pārveidots automašīnu klasē.
pakete Edureka publiskā klase Piemērs {public static void main (String args []) Auto automašīna = new Car () car.setName ('Mustang GT 4.8-litru V8') car.setTopSpeed (201) System.out.println (automašīna. getName () + 'maksimālais ātrums MPH ir' + car.getTopSpeedMPH ()) System.out.println (car.getName () + 'maksimālais ātrums KMH ir' + car.getTopSpeedKMH ())
So, šādi iekapsulēšanu var panākt Java. Tagad ejam tālāk un redzēsim, kāpēc mums nepieciešama iekapsulēšana.
Kāpēc mums nepieciešama iekapsulēšana Java?
Iekapsulēšana ir būtiska Java, jo:
- Tas kontrolē datu pieejamības veidu
- Maina kodu, pamatojoties uz rekvizītiem
- Palīdz mums sasniegt brīvu pāri
- Panāk mūsu lietojuma vienkāršību
- Tas arī ļauj mainīt koda daļu, netraucējot citas funkcijas vai kodu, kas atrodas programmā
Apskatīsim nelielu piemēru, kas ilustrē nepieciešamību pēc iekapsulēšanas.
ir kotlins labaks par java
klase Students {int id String name} publiskā klase Demo {public static void main (String [] args) {Student s = new Student () s.id = 0 s.name = 's.name = null}}
Iepriekš minētajā piemērā tas satur divus instances mainīgos kā piekļuves modificētājus. Tātad jebkura klase tajā pašā paketē var piešķirt un mainīt šo mainīgo vērtības, izveidojot šīs klases objektu. Tādējādi mums nav kontroles pār studentu klasē saglabātajām vērtībām kā mainīgajiem. Lai atrisinātu šo problēmu, mēs iekapsulējam Studentu klasi.
Tātad, šie bija daži norādījumi, kas atspoguļo iekapsulēšanas nepieciešamību. Apskatīsim dažas iekapsulēšanas priekšrocības.
Iekapsulēšanas priekšrocības
- Datu slēpšana: Šeit lietotājam nebūs ne jausmas par klases iekšējo ieviešanu. Pat lietotājs nezinās, kā klase mainīgajos saglabā vērtības. Viņš / viņa tikai apzināsies, ka vērtības tiek nodotas setera metodei un mainīgie tiek inicializēti ar šo vērtību.
- Paaugstināta elastība: Šeit mēs varam padarīt klases mainīgos tikai lasāmus vai tikai rakstāmus atkarībā no mūsu prasībām. Ja vēlaties, lai mainīgie būtu tikai lasāmi, mums ir jāizlaiž tādas setētāja metodes kā setName (),setAge() utt. vai, ja mēs vēlamies, lai mainīgie būtu tikai rakstāmi, mums no iepriekš minētās programmas ir jāizlaiž tādas get metodes kā getName (), getAge () utt.
- Atkārtota izmantošana: Tas arī uzlabo atkārtotu lietojamību un to ir viegli mainīt, ievērojot jaunas prasības.
Tagad, kad mēs esam sapratuši iekapsulēšanas pamatus, ienirsim šī raksta pēdējā tēmā un detalizēti sapratīsim Iekapsulēšanu ar reāllaika piemēra palīdzību.
Reālā laika iekapsulēšanas piemērs
Apskatīsim televīzijas piemēru un sapratīsim, kā iekšējās ieviešanas detaļas tiek paslēptas ārpus klases.Būtībā šajā piemērā mēs slēpjam iekšējos koda datus, t.i., ķēdes no ārējās pasaules pie vāka. Tagad iekšā , to var panākt ar piekļuves modifikatoru palīdzību. Piekļuves modifikatori nosaka klases piekļuvi vai līmeni, konstruktoru mainīgos utt. Kā redzat zemāk esošajā kodā, es izmantoju privātu piekļuves modifikatoru, lai ierobežotu klases piekļuves līmeni. Mainīgie, kas deklarēti kā privāti, ir pieejami tikai Televīzijas klasē.
publiskā klase Televīzija {privātā dubultā platuma privātā dubultā augstuma privātā dubultā ekrāna izmēra privātā int maksimālā tilpuma drukas int apjoma privātā Būla jauda publiskā televīzija (dubultā platumā, dubultā augstumā, dubultā ekrāna izmērā) {this.width this.height this.screenSize = ScreenSize} public double channelTuning (int channel) {switch (channel) {case1: return 34,56 case2: return 54,89 case3: return 73,89 case1: return 94,98} return 0} public int reductionVolume () {if (0volume) volume ++ return volume}} klases tests {public static void main (String args []) {Television t = new Television (11.5,7,9) t.powerSwitch () t.channelTuning (2) t.decreaseVolume () t.increaseVolume () television. // Kļūda, jo mainīgais ir privāts, un tam nevar piekļūt ārpus klases}}
Iepriekš minētajā piemērā visus mainīgos esmu deklarējis kā privātus un metodes, konstruktorus un klasi kā publiskus. Šeit konstruktoriem, metodēm var piekļūt ārpus klases. Kad es raduobjektsno Televīzijas klases, tā var piekļūt klasē esošajām metodēm un konstruktoriem, savukārt mainīgie, kas deklarēti ar privātas piekļuves modifikatoru, ir paslēpti. Tāpēc, mēģinot piekļūt platuma mainīgais iepriekš minētajā piemērā tas metkļūda. Tieši tā iekšējās ieviešanas detaļas tiek paslēptas no citām klasēm. Šādi tiek panākta iekapsulēšana Java.
Tādējādi mēs nonākam līdz šī raksta beigām “Iekapsulēšana Java”. 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
pitona __init__ klase
Tagad, kad esat sapratis “Kas ir iekapsulēšana Java”, 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 “Iekapsulēšana Java” komentāru sadaļā, un mēs sazināsimies ar jums pēc iespējas ātrāk.