Obyekt va sinflar — OOP ning amaliy poydevori. OOP darsida ular bilan qisqacha tanishdik; endi sinf tuzilishini, uning a’zolarini va obyekt yaratish jarayonini batafsil ko’rib chiqamiz. Sinfni yaxshi tushunsangiz, keyingi barcha OOP tushunchalari osonlashadi.
Sinf (class) — obyektlar yaratish uchun andoza. U obyektning maydonlarini (ma’lumot) va metodlarini (xatti-harakat) bir joyda ta’riflaydi. Obyekt — shu andozadan
newbilan yaratilgan aniq nusxa.
Sinf tuzilishi
Sinf ichida maydonlar va metodlar bo’ladi. Mahsulot sinfini quramiz:
class Mahsulot {
String nomi;
int narxi;
void korsat() {
System.out.println(nomi + " — " + narxi + " so'm");
}
}
public class Main {
public static void main(String[] args) {
Mahsulot telefon = new Mahsulot();
telefon.nomi = "iPhone";
telefon.narxi = 12000000;
telefon.korsat();
}
}
iPhone — 12000000 so'm
Bu yerda nomi va narxi — maydonlar, korsat() — metod. Metod obyektning o’z maydonlariga bevosita murojaat qila oladi.
Maydonlarning standart qiymati
Java’da obyekt maydonlari qiymat berilmasa, standart qiymatga ega bo’ladi. Ularni jadvalda ko’ramiz:
| Tur | Standart qiymat |
|---|---|
int, double |
0 |
boolean |
false |
String, obyekt |
null |
Amalda:
class Foydalanuvchi {
String ism;
int yosh;
boolean faol;
}
public class Main {
public static void main(String[] args) {
Foydalanuvchi u = new Foydalanuvchi();
System.out.println(u.ism + " " + u.yosh + " " + u.faol);
}
}
null 0 false
Maydonlarga qiymat bermaganimiz uchun ular standart qiymat oldi. Bu Java’ning primitiv va referens turlar orasidagi farqini ko’rsatadi.
Bir sinf — ko’p obyekt
Bitta andozadan istagancha mustaqil obyekt yaratsa bo’ladi:
class Talaba {
String ism;
int ball;
}
public class Main {
public static void main(String[] args) {
Talaba a = new Talaba();
Talaba b = new Talaba();
a.ism = "Farrux"; a.ball = 95;
b.ism = "Aziz"; b.ball = 80;
System.out.println(a.ism + ": " + a.ball);
System.out.println(b.ism + ": " + b.ball);
}
}
Farrux: 95
Aziz: 80
a va b — mustaqil obyektlar, har biri o’z ma’lumotini saqlaydi.
Xulosa
Bu bo’limda sinf tuzilishi (maydon va metodlar), new bilan obyekt yaratish, maydonlarning standart qiymati va bir sinfdan ko’p obyekt yaratishni ko’rib chiqdik. Sinf — ma’lumot va xatti-harakatni jamlovchi birlik. Keyingi darsda metodlarga — obyektning xatti-harakatiga chuqurroq kirib boramiz.