Darsliklar Java Obyekt va Sinflar

Java Java Obyekt va Sinflar

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 new bilan 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.