Apa yang bersifat publik, pribadi, dan dilindungi dalam pemrograman berorientasi objek?
class
oop
definition
access-modifiers
Delirium tremens
sumber
sumber
Jawaban:
Mereka adalah pengubah akses dan membantu kami menerapkan Enkapsulasi (atau penyembunyian informasi). Mereka memberi tahu compiler kelas lain mana yang harus memiliki akses ke bidang atau metode yang sedang didefinisikan.
private
- Hanya kelas saat ini yang akan memiliki akses ke bidang atau metode.protected
- Hanya kelas dan subkelas saat ini (dan terkadang juga kelas paket yang sama) dari kelas ini yang akan memiliki akses ke bidang atau metode.public
- Semua kelas bisa merujuk ke lapangan atau memanggil metode.Ini mengasumsikan kata kunci ini digunakan sebagai bagian dari deklarasi field atau metode dalam definisi kelas.
sumber
Ketiganya adalah pengubah akses dan kata kunci yang digunakan di kelas. Apa pun yang dideklarasikan di depan umum dapat digunakan oleh objek apa pun di dalam kelas atau di luar kelas, variabel pribadi hanya dapat digunakan oleh objek di dalam kelas dan tidak dapat diubah melalui akses langsung (karena dapat diubah melalui fungsi seperti fungsi teman) Apa pun yang didefinisikan di bawah bagian dilindungi dapat digunakan oleh kelas dan kelas turunannya.
sumber
Mereka sebenarnya bukan konsep melainkan kata kunci spesifik yang cenderung muncul (dengan semantik yang sedikit berbeda) dalam bahasa populer seperti C ++ dan Java.
Pada dasarnya, mereka dimaksudkan untuk memungkinkan kelas membatasi akses ke anggota (bidang atau fungsi). Idenya adalah bahwa semakin sedikit satu jenis yang diizinkan untuk mengakses di jenis lain, semakin sedikit ketergantungan yang dapat dibuat. Hal ini memungkinkan objek yang diakses diubah dengan lebih mudah tanpa memengaruhi objek yang merujuk padanya.
Secara garis besar, public berarti setiap orang diperbolehkan mengakses, private berarti hanya anggota dari kelas yang sama yang diperbolehkan untuk mengakses, dan protected berarti anggota subclass juga diperbolehkan. Namun, setiap bahasa menambahkan hal-hal sendiri ke dalamnya. Misalnya, C ++ memungkinkan Anda mewarisi secara non-publik. Di Java, ada juga tingkat akses (paket) default, dan ada aturan tentang kelas internal, dll.
sumber
Item publik adalah item yang dapat diakses dari kelas lain. Anda hanya perlu mengetahui objek apa itu dan Anda dapat menggunakan operator titik untuk mengaksesnya. Diproteksi berarti bahwa kelas dan subkelasnya memiliki akses ke variabel, tetapi tidak kelas lain, mereka perlu menggunakan pengambil / penyetel untuk melakukan apa pun dengan variabel. Private artinya hanya kelas itu yang memiliki akses langsung ke variabel, yang lainnya memerlukan metode / fungsi untuk mengakses atau mengubah data itu. Semoga ini membantu.
sumber
seperti di atas, tetapi secara kualitatif:
semakin sedikit akses yang Anda berikan, semakin sedikit detail implementasi yang bocor dari objek Anda. lebih sedikit kebocoran semacam ini berarti lebih banyak fleksibilitas (alias "kopling longgar") dalam hal mengubah cara suatu objek diimplementasikan tanpa merusak klien dari objek tersebut. ini adalah hal yang sangat mendasar untuk dipahami.
sumber
Singkatnya, dalam pemrograman berorientasi objek, semuanya dimodelkan ke dalam kelas dan objek. Kelas berisi properti dan metode. Kata kunci publik, privat dan dilindungi digunakan untuk menentukan akses ke anggota ini (properti dan metode) kelas dari kelas lain atau .dlls lain atau bahkan aplikasi lain.
sumber