Enkapsulasi di Java - Bagaimana menguasai OOP dengan Enkapsulasi?



Artikel tentang Enkapsulasi di Java ini akan membantu Anda memahami konsep inti menyembunyikan detail implementasi bersama dengan berbagai contoh sederhana.

Pemrograman Berorientasi Objek atau lebih dikenal sebagai OOPs adalah salah satu pilar utama Java yang telah memanfaatkan kekuatan dan kemudahan penggunaannya. Untuk menjadi pengembang Java profesional, Anda harus mendapatkan kendali sempurna atas berbagai macam Java Suka , Abstraksi , Enkapsulasi, dan Polimorfisme. Melalui media artikel ini, saya akan memberi Anda wawasan lengkap tentang salah satu konsep terpenting OOP yaitu Enkapsulasi di Java dan bagaimana itu dicapai.

Di bawah ini adalah topik-topik yang akan saya bahas di artikel ini:





Anda juga dapat melalui rekaman ini di mana Anda dapat memahami topik secara rinci dengan contoh.



logika fuzzy dalam kecerdasan buatan

Pengantar Enkapsulasi

Enkapsulasi mengacu pada membungkus data di bawah satu unit. Ini adalah mekanisme yang mengikat kode dan data yang dimanipulasi. Cara lain untuk memikirkan enkapsulasi adalah, ini adalah perisai pelindung yang mencegah data diakses oleh kode di luar perisai ini. Dalam hal ini, variabel atau data a disembunyikan dari kelas lain dan hanya dapat diakses melalui fungsi anggota kelas sendiri tempat mereka dideklarasikan.

Sekarang, mari kita ambil contoh kapsul medis, yang obatnya selalu aman di dalam kapsul. Demikian pula, melalui enkapsulasi, metode dan variabel kelas disembunyikan dengan baik dan aman.



Enkapsulasi -Ekapsulasi di Java-EdurekaEnkapsulasi di Jawa dapat dicapai dengan:

  • Mendeklarasikan variabel kelas sebagai privat.
  • Menyediakan metode penyetel dan pengambil publik untuk mengubah dan melihat nilai variabel.

Sekarang, mari kita lihat kodenya untuk mendapatkan pemahaman yang lebih baik tentang enkapsulasi:

kelas publik Mahasiswa {private String name public String getName () {return name} public void setName (String name) {this.name = name}} class Test {public static void main (String [] args) {Student s = new Student () s.setName ('Harry Potter') System.out.println (s.getName ())}}

Seperti yang Anda lihat pada kode di atas, saya telah membuat kelas Student yang memiliki private nama . Selanjutnya, saya telah membuat pengambil dan penyetel untuk mendapatkan dan menetapkan nama siswa. Dengan bantuan metode ini, setiap kelas yang ingin mengakses variabel nama harus melakukannya menggunakan metode pengambil dan penyetel ini.

Sekarang mari kita lihat satu contoh lagi dan pahami Enkapsulasi secara mendalam. Dalam contoh ini, kelas Car memiliki dua bidang –name dan topSpeed. Di sini, keduanya dideklarasikan sebagai private, artinya keduanya tidak dapat diakses langsung di luar kelas. Kami memiliki beberapa metode pengambil dan penyetel seperti getName, setName, setTopSpeed, dll., Dan mereka dideklarasikan sebagai publik. Metode ini diekspos ke 'orang luar' dan dapat digunakan untuk mengubah dan mengambil data dari objek Mobil. Kami memiliki satu metode untuk mengatur kecepatan tertinggi kendaraan dan dua metode pengambil untuk mengambil nilai kecepatan maksimal baik dalam MPH atau KMHt. Jadi pada dasarnya, inilah yang dilakukan enkapsulasi - menyembunyikan implementasi dan memberi kita nilai yang kita inginkan. Sekarang, mari kita lihat kode di bawah ini.

paket Edureka kelas publik Mobil {nama String pribadi pribadi ganda topSpeed ​​public Car () {} string publik getName () {nama kembalian} public void setName (Nama string) {this.name = nama} public void setTopSpeed ​​(double speedMPH) {topSpeed = speedMPH} public double getTopSpeedMPH () {return topSpeed} public double getTopSpeedKMH () {return topSpeed ​​* 1.609344}}

Di sini, program utama membuat objek Mobil dengan nama tertentu dan menggunakan metode penyetel untuk menyimpan kecepatan tertinggi untuk instance ini. Dengan melakukan ini, kita dapat dengan mudah mendapatkan kecepatan dalam MPH atau KMH tanpa mempedulikan bagaimana kecepatan diubah di kelas Mobil.

paket Edureka kelas publik Contoh {public static void main (String args []) Car car = new Car () car.setName ('Mustang GT 4.8-liter V8') car.setTopSpeed ​​(201) System.out.println (car. getName () + 'kecepatan tertinggi dalam MPH adalah' + car.getTopSpeedMPH ()) System.out.println (car.getName () + 'kecepatan tertinggi di KMH adalah' + car.getTopSpeedKMH ())

So, ini adalah bagaimana Enkapsulasi dapat dicapai di Jawa. Sekarang, mari melangkah lebih jauh dan melihat mengapa kita membutuhkan Enkapsulasi.

Mengapa kita membutuhkan Enkapsulasi di Java?

Enkapsulasi sangat penting di Java karena:

  • Ini mengontrol cara aksesibilitas data
  • Mengubah kode berdasarkan persyaratan
  • Membantu kami mencapai pasangan yang longgar
  • Mencapai kesederhanaan aplikasi kita
  • Ini juga memungkinkan Anda untuk mengubah bagian kode tanpa mengganggu fungsi atau kode lain yang ada dalam program

Sekarang, mari kita pertimbangkan contoh kecil yang menggambarkan kebutuhan enkapsulasi.

class Student {int id String name} public class Demo {public static void main (String [] args) {Student s = new Student () s.id = 0 s.name = '' s.name = null}}

Dalam contoh di atas, ini berisi dua variabel instan sebagai pengubah akses. Jadi setiap kelas dalam paket yang sama dapat menetapkan dan mengubah nilai variabel tersebut dengan membuat objek dari kelas itu. Jadi, kami tidak memiliki kontrol atas nilai yang disimpan di kelas Siswa sebagai variabel. Untuk mengatasi masalah ini, kami merangkum kelas Mahasiswa.

Jadi, inilah beberapa petunjuk yang menggambarkan kebutuhan Enkapsulasi. Sekarang, mari kita lihat beberapa manfaat enkapsulasi.

Manfaat Enkapsulasi

    • Menyembunyikan Data: Di sini, pengguna tidak akan tahu tentang implementasi internal kelas. Bahkan pengguna tidak akan menyadari bagaimana kelas menyimpan nilai dalam variabel. Dia hanya akan menyadari bahwa kita meneruskan nilai ke metode penyetel dan variabel diinisialisasi dengan nilai itu.
    • Fleksibilitas yang Ditingkatkan: Di sini, kita dapat menjadikan variabel kelas sebagai hanya-baca atau hanya-tulis tergantung pada kebutuhan kita. Jika Anda ingin menjadikan variabel sebagai hanya-baca maka kita harus menghilangkan metode penyetel seperti setName (),setAge() dll. atau jika kita ingin menjadikan variabel sebagai hanya-tulis maka kita harus menghilangkan metode get seperti getName (), getAge () dll. dari program di atas.
    • Dapat digunakan kembali: Ini juga meningkatkan kegunaan kembali dan mudah diubah dengan persyaratan baru.

Sekarang setelah kita memahami dasar-dasar enkapsulasi, mari selami topik terakhir artikel ini dan pahami Enkapsulasi secara mendetail dengan bantuan contoh waktu nyata.

Contoh Enkapsulasi Waktu Nyata

Mari kita pertimbangkan contoh televisi dan pahami bagaimana detail implementasi internal disembunyikan dari kelas luar.Pada dasarnya, dalam contoh ini, kami menyembunyikan data kode bagian dalam yaitu sirkuit dari dunia luar di sampulnya. Sekarang di , ini dapat dicapai dengan bantuan pengubah akses. Pengubah akses mengatur akses atau tingkat kelas, variabel konstruktor, dll. Seperti yang Anda lihat pada kode di bawah ini, saya telah menggunakan pengubah akses pribadi untuk membatasi tingkat akses kelas. Variabel yang dinyatakan sebagai privat hanya dapat diakses di dalam kelas Televisi.

public class Television {private double width private double height private double Screensize private int maxVolume print int volume private boolean power public Television (double width, double height, double screenSize) {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}} uji kelas {public static void main (String args []) {Television t = new Television (11.5,7,9) t.powerSwitch () t.channelTuning (2) t.decreaseVolume () t.increaseVolume () televisi. // Melempar kesalahan karena variabel bersifat pribadi dan tidak dapat diakses di luar kelas}}

Dalam contoh di atas, saya telah mendeklarasikan semua variabel sebagai privat dan metode, konstruktor dan kelas sebagai publik. Di sini, konstruktor, metode dapat diakses di luar kelas. Saat saya membuatSebuah Objekkelas Televisi, ia dapat mengakses metode dan konstruktor yang ada di kelas, sedangkan variabel yang dideklarasikan dengan pengubah akses privat disembunyikan. Itulah mengapa saat Anda mencoba mengakses variabel lebar dalam contoh di atas, itu melemparsebuah kesalahan. Begitulah detail implementasi internal disembunyikan dari kelas lain. Beginilah cara Enkapsulasi dicapai di Jawa.

Hal ini mengakhiri artikel tentang 'Enkapsulasi di Java' ini. Harapan, Anda menganggapnya informatif dan membantu dalam menambah nilai pada pengetahuan Anda. Jika Anda ingin mempelajari lebih lanjut tentang Java, Anda dapat merujuk ke

Sekarang Anda telah memahami 'apa itu Enkapsulasi di Java', lihat oleh Edureka, perusahaan pembelajaran online tepercaya dengan jaringan lebih dari 250.000 pelajar yang puas dan tersebar di seluruh dunia. Kursus pelatihan dan sertifikasi Java J2EE dan SOA Edureka dirancang untuk siswa dan profesional yang ingin menjadi Pengembang Java. Kursus ini dirancang untuk memberi Anda permulaan dalam pemrograman Java dan melatih Anda untuk konsep Java inti dan lanjutan bersama dengan berbagai kerangka kerja Java seperti Hibernate & Spring.

Ada pertanyaan untuk kami? Harap sebutkan di bagian komentar di blog 'Enkapsulasi dalam Java' ini dan kami akan menghubungi Anda kembali secepatnya.