Prinsip OOP menguatkuasakan enkapsulasi dengan mengehadkan akses kepada ahli kelas persendirian untuk mengelakkan pengubahsuaian yang tidak dibenarkan. Walau bagaimanapun, dalam kod berikut, mengapakah mungkin untuk mengakses medan akaun objek Orang lain walaupun keterlihatan peribadinya?
class Person { private BankAccount account; Person(BankAccount account) { this.account = account; } public Person someMethod(Person person) { // Why is accessing the private field possible? BankAccount a = person.account; } }
Bertentangan mengikut jangkaan akses peringkat objek, medan peribadi di Java mempunyai akses peringkat kelas. Reka bentuk ini berpunca daripada sebab berikut:
Kesimpulan:
Akses peringkat kelas untuk medan persendirian ialah pilihan reka bentuk yang disengajakan yang mengukuhkan enkapsulasi, memastikan kebebasan pelaksanaan dan memudahkan interaksi antara objek dalam kelas yang sama. Walaupun ia mungkin kelihatan berlawanan dengan intuisi, reka bentuk ini penting untuk mengekalkan integriti dan fleksibiliti pengaturcaraan berorientasikan objek.
Atas ialah kandungan terperinci Mengapa Saya Boleh Mengakses Medan Peribadi Objek Lain dalam Kelas yang Sama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!