Sinflar Sinf yoki class


Download 25.96 Kb.
Sana29.07.2023
Hajmi25.96 Kb.
#1663481
Bog'liq
Sinflar


Sinflar
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();
}

}
Konsulga quyidagilar chop etiladi:


832345 Anvar 1000.0
Balans: 1000.0
40000.0 depozit qo'shildi
Balans: 41000.0
15000.0 pul yechildi
Balans: 26000.0
Download 25.96 Kb.

Do'stlaringiz bilan baham:




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