Video: KONSEP DASAR PEMROGRAMAN BERORIENTASI OBJEK 2024
Apabila pengaturcaraan aplikasi Android anda dengan Java, anda boleh menggunakan getter dan setter. Dalam kod ini, kelas
UseAccount
dan
UseAccountFromOutside
boleh menetapkan akaun
customerName
dan mendapatkan akaun
customerName
:
customerName = "Occam";
nama StringBackup = akaun. Nama Pelanggan;
Tetapi kelas
UseAccount
atau kelas
UseAccountFromOutside
boleh menjadi tinker dengan medan
internalIdNumber
akaun.
Bagaimana jika anda ingin kelas seperti
UseAccount
untuk mendapatkan akaun
internalIdNumber
yang sedia ada tetapi tidak menukar akaun
internalIdNumber >? (Dalam banyak situasi, mendapatkan maklumat diperlukan, tetapi mengubah maklumat yang sedia ada adalah berbahaya.) Anda boleh melakukan semua ini dengan kaedah
getter. Pake pakej. allyourcode. bank;
Akaun kelas awam {
int dalamanIdNumber int;
Alamat perantisan;
String phone;
public int socialSecurityNumber;
int accountType;
keseimbangan berganda;
int statik int findById (int internalIdNumber) {
Account foundAccount = baru Account ();
kembali dijumpaiAccount. internalIdNumber;
}
public int getInternalIdNumber () {
return internalIdNumber;
}
}
Dengan kelas
Akaun
, kod kelas lain boleh memanggil
int backupIdNumber = akaun. getInternalIdNumber ();
Bidang
Akaun
kelas
internalIdNumber
masih kosong, jadi kod kelas lain tidak mempunyai cara untuk memberikan nilai ke dalam bidang
internalIdNumber
akaun. Jika anda ingin mendayakan kelas lain untuk menukar nilai
internalIdNumber
peribadi anda, anda boleh menambah kaedah penyetelan pada kod, seperti ini:
public void setInternalIdNumber (int internalIdNumber) {
ini. internalIdNumber = internalIdNumber;
}
Metode Getter dan penyetor bukan ciri terbina dalam Java - ia hanya kaedah Java biasa. Tetapi corak ini (mempunyai kaedah yang bertujuan untuk mengakses nilai medan yang tidak dapat diakses) digunakan begitu sering bahawa pengaturcara menggunakan istilah
getter dan setter untuk menerangkannya. Getter dan kaedah penyetor adalah kaedah accessor. Pengaturcara Java hampir selalu mengikuti konvensyen untuk memulakan nama method accessor dengan
mendapatkan
atau
set
dan kemudian memanfaatkan nama medan yang diakses.Contohnya, bidang
internalIdNumber
mempunyai aksesori yang dinamakan
getInternalIdNumber
dan
setInternalIdNumber
. Bidang
renderingValu
e mempunyai aksesori bernama
getRenderingValue
dan
setRenderingValue
.
Sebelum anda mula, masukkan kod ini dalam editor:
pakej com. allyourcode. bank;
awam
Akaun kelas { awam
Pelanggan string; private
int internalIdNumber; Alamat perantisan;
String phone;
awam
int socialSecurityNumber; int accountType;
keseimbangan berganda; Int
awam
int findById (int internalIdNumber) { Account foundAccount = baru Account ();
// Kod untuk mencari akaun pergi di sini.
kembali dijumpaiAccount. internalIdNumber;
}
}
Anda boleh mempunyai Android Studio mencipta getters dan setter untuk anda. Inilah caranya:
Mulakan dengan kod anda dalam editor Android Studio.
- Klik kursor tetikus di mana-mana di dalam editor.
- Pada menu utama Android Studio, pilih Kod → Menjana → Getter dan Setter.
- Bidang Pilih Bidang untuk Menjana kotak dialog Getters dan Setters muncul.
Sebagai alternatif, anda boleh menjana hanya getters dengan memilih Kod → Menjana → Getter. Dan anda boleh menjana hanya penentu dengan memilih Kod → Menjana → Setter.
Kotak dialog menyenaraikan medan di kelas yang muncul dalam editor Android Studio.
Pilih satu atau lebih medan dalam medan senarai kotak dialog.
- Untuk membuat kod di atas, anda hanya memilih medan
internalIdNumber
.
Sebagai alternatif, anda boleh menjana hanya getters dengan memilih KodKlik OK.
- Android Studio memecat kotak dialog dan menambah kaedah getter dan kaedah penentu yang baru dibakar ke kod editor.
Pilih Medan untuk Menjana Getters dan Setters.