Java Obyekt va Sinflar Obyekt


Download 18.35 Kb.
Sana20.06.2023
Hajmi18.35 Kb.
#1632145
Bog'liq
4 mavzu Java Obyekt va Sinflar


Java Obyekt va Sinflar
Obyekt – bu holat va xususiyatga ega bo’lgan narsa, masalan, telefon, olma, qalam, shifokor. Bu moddiy yoki ma’naviy bo’lishi mumkin. Obyektning uchta xarakteri bo’ladi:

  • Holati: obyektning ma’lumoti yoki qiymati.

  • Xususiyat: obyektning metodlari.

  • Identifikatori: Har bir obyekt JVM tomonidan takrorlanmas identifikator bilan ta’minlanadi.

Keling biror obyektni muhokama qilamiz. Masalan, ruchka. Uning rangi qizil, bu uning holati. U yozish uchun mo’ljallangan, bu uning xususiyati.
Sinf yoki class – bir xil xususiyatlarga ega obyektlar to’plami. Class obyekt yaratishga mo’ljallangan shablon. Class fizik jihatdan mavjud emas, shuning uchun u xotiradan joy egallamaydi. Class yaratish uchun sintaksis quyidagicha:
class  {
maydon;
metod;
}
Namuna o’zgaruvchi sinf ichida lekin metod tashqarisida yaratilgan o’zgaruvchi hisoblanadi. Kompilyatsiya vaqtida namuna o’zgaruvchi xotiradan joy olmaydi. Qachonki sinfdan obyekt yaratilsagina xotiradan joy oladi, shuning uchun u namuna (yoki obyekt) o’zgaruvchi deb nomlanadi.
Metod funksiyaga o’xshash va sinfning xususiyatlarini ifodalaydi. Metod koddan qayta-qayta foydalanish va uni optimizatsiya qilish uchun ishlatiladi.
new kalit so’zi classdan obyekt yaratish va u uchun heap xotiradan joy band qilish uchun ishlatiladi.
Keling, endi Talaba nomli sinf yaratamiz. Unda id va ism nomli maydonlar bo’lsin. Va undan bitta obyekt yaratamiz.

class Talaba {


int id;
String ism;

public static void main(String[] args) {


Talaba talaba = new Talaba();
System.out.println(talaba.id); // 0
System.out.println(talaba.ism); // null
}
}
Dasturlashda, odatda biz ko’plab sinflar yaratamiz va ulardan boshqa sinflar ichida foydalanamiz. Yuqoridagi misolda esa sinfdan o’sha sinfdagi main() metodida foydalandik.
Java dasturlash tilida obyektlar 3 xil usulda yaratiladi:

  • reference yordamida

  • metod yordamida

  • konstruktor yordamida

Quyida 3 ta usulda obyekt yaratamiz.
Reference yordamida
class Talaba {
int id;
String ism;

public static void main(String[] args) {


Talaba talaba = new Talaba();
talaba.id = 1;
talaba.ism = "Husan";
System.out.println(talaba.id + " " + talaba.ism); // 1 Husan
}
}
Metod yordamida
class Talaba {
int id;
String ism;

void qiymatYuklash(int id1, String ism1){


id = id1;
ism = ism1;
}

void chopEtish(){


System.out.println(id + " " + ism);
}

public static void main(String[] args) {


Talaba talaba = new Talaba();
talaba.qiymatYuklash(2, "Aziz");
talaba.chopEtish(); // 1 Husan
}
}
Konstruktor haqida keyingi darslarimizda o’rganamiz.
Quyida sinf va obyektlar ishtirokida Bank akkountga doir kod yozamiz. Uni yaxshi tahlil qilishga harakat qiling.
class Account {
int akkountRaqami;
String akkountIsmi;
float pulMiqdori;

void qiymatBerish(int a, String n, float amt) {


akkountRaqami = a;
akkountIsmi = n;
pulMiqdori = amt;
}

void deposit(float amt) {


pulMiqdori = pulMiqdori + amt;
System.out.println(amt + " depozit qo'shildi");
}

void pulYechish(float amt) {


if (pulMiqdori < amt) {
System.out.println("Balans kam");
} else {
pulMiqdori = pulMiqdori - amt;
System.out.println(amt + " pul yechildi");
}
}

void balansniTekshirish() {


System.out.println("Balans: " + pulMiqdori);
}

void chopEtish() {


System.out.println(akkountRaqami + " " + akkountIsmi + " " + pulMiqdori);
}

public static void main(String[] args) {


Account a1 = new Account();
a1.qiymatBerish(832345, "Anvar", 1000);
a1.chopEtish();
a1.balansniTekshirish();
a1.deposit(40000);
a1.balansniTekshirish();
a1.pulYechish(15000);
a1.balansniTekshirish();
}

}
Download 18.35 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling