— Salom, Amigo! Bugun Bilaabo o'zgaruvchilarni initsializatsiya qilish tartibi haqida gapirib beradi.
Ko'z oldingga kodni keltir. O'zgaruvchilar qanday qiymat oladi?
Kod
class Cat
{
public int a = 5;
public int b = a + 1;
public int c = a * b;
}
Kod
class Cat
{
public int a = getSum();
public int b = getSum() - a;
public int c = getSum() - a - b;
public int getSum()
{
return a + b + c;
}
}
— Axir bu mumkinmi?
— Albatta mumkin. Metodlar va klass maydonlari orasida e'lon qilish tartibi muhim emas.
Klass yuqoridan pastga yuklanadi, shuning uchun muhimki, klass maydoni faqat allaqachon yuklangan boshqa maydonlarga murojaat qilishi kerak. Misolda b maydoni a maydoniga murojaat qilishi mumkin, lekin c maydoni haqida hech narsa bilmaydi.
— Va nima bo'ladi?
— O'zgaruvchilar yaratilganda, ular default qiymatlarni (standart qiymatlarni) oladi.
| Kod | Haqiqatan nimalar sodir bo'ladi |
|---|---|
|
|
|
|
— Voh! Bu qanchalik oddiy ekan. Rahmat, Bilaabo, sen haqiqiy do'stsan!
— Ura! Bilaaboninig do'sti paydo bo'ldi!
GO TO FULL VERSION