Statik dalalar va usullari
Siz allaqachon bilganingizdek, maydonlar ob'ekt qiymatlari va usullarini saqlaydigan o'zgaruvchilardan boshqa narsa emas bor oddiy funktsiyalari bu ifodalaydi ob'ekt harakatlar. In biroz holatlar, siz mumkin istayman o'rtasida qiymat yoki usulni almashish hammasi ob'ekt sinf misollari. Uchun bu foydalanish holatda, siz statikni qo'shishingiz mumkin ularga o'zgartiruvchi, quyidagicha:
sinf Shaxs {
// ... sinf dalalar ta'rifi
statik String personLabel = "Shaxs nomi:";
String olish to'liq ism => "$personLabel $firstName $lastName";
// tahrirlangan uchun chop etish the yangi statik maydon "personLabel"
}
Demak, biz mumkin o'zgartirish the statik maydon qiymat bevosita yoqilgan the sinf:
asosiy() {
Shaxs ba'zi Shaxs = Shaxs("klark", "kent"); Shaxs boshqa odam = Shaxs("Piter", "parker");
chop etish (somePerson.fullName); // chop etadi Shaxs ism: Clark Kent chop etish (boshqa shaxs. to'liq ism); // chop etadi Shaxs ism: Piter park
Person.personLabel = "ism:";
chop etish (somePerson.fullName); // chop etadi ism: Clark Kent chop etish (boshqa shaxs. to'liq ism); // chop etadi ism: Piter parker
}
The statik dalalar bor bog'langan bilan the sinf, aksincha dan har qanday ob'ekt misol. The bir xil statik uchun ketadi usul ta'riflari. Statik qo'shishimiz mumkin Quyidagi kod blokida ko'rsatilganidek, nomni chop etishni inkapsulatsiya qilish usuli, masalan:
sinf Shaxs {
// ... sinf dalalar ta'rifi
statik String personLabel = "Shaxs nomi:";
statik bekor printsPerson(Shaxs odam) {
chop etish ("$personLabel ${person.firstName} ${person.lastName}");
}
}
Keyin, biz mumkin foydalanish bu usuli uchun chop etish a Shaxs misol, shunchaki kabi biz qildi oldin:
asosiy() {
Shaxs ba'zi Shaxs = Shaxs("klark", "kent"); Shaxs boshqa odam = Shaxs("Piter", "parker");
Person.personLabel = "ism:";
Person.printsPerson(somePerson); // chop etadi ism: Clark Kent Person.printsPerson(boshqa shaxs); // chop etadi ism: Piter park
}
Biz mumkin o'zgartirish the to'liq ism oluvchi yoqilgan the Shaxs sinf uchun emas foydalanish the
personLabel statik dala, uchun qilish Ko'proq tuyg'u va olish alohida natijalar ko'ra uchun bizning talablarimiz:
sinf Shaxs {
// ... sinf dalalar ta'rifi
String olish to'liq ism => "$firstName $lastName";
}
asosiy() {
Shaxs ba'zi Shaxs = Shaxs("klark", "kent"); Shaxs boshqa odam = Shaxs("Piter", "parker");
chop etish (somePerson.fullName); // chop etadi Clark Kent chop etish (boshqa shaxs. to'liq ism); // chop etadi Piter parker
Person.printsPerson(somePerson); // chop etadi Shaxs ism: Clark Kent Person.printsPerson(boshqa shaxs); // chop etadi Shaxs ism: Piter park
}
Sifatida siz mumkin qarang, statik dalalar va usullari ruxsat berish Biz uchun qo'shish xos xatti-harakatlar uchun sinflar umuman olganda.
Do'stlaringiz bilan baham: |