O’zbekiston respublikasi axborot texnologiyalari va



Yüklə 471,54 Kb.
Pdf görüntüsü
səhifə2/4
tarix29.11.2023
ölçüsü471,54 Kb.
#142147
1   2   3   4
Mavzu xotirani taqsimlash usullari

out.println(myObj.name); // error 
}
}
Xatolik sodir bo’ladi
Buning o'rniga, o'zgaruvchiga kirish va yangilash uchun getName() va 
setName() usullaridan foydalanamiz: 
Buning o'rniga, o'zgaruvchiga kirish va yangilash uchun getName() va 
setName() usullaridan foydalanamiz: 
public class Main {
public static void main(String[] args) {
Person myObj = new Person();
myObj.setName("John"); // Set the value of the name variable to "John"
System.
out.println(myObj.getName());
}
} // Outputs "John"
Demak, nima uchun inkapsulyatsiya degan savolga javob berib o’tamiz:
o
Sinf atributlari va usullarini yaxshiroq nazorat qilish. 
o
Sinf atributlari faqat o'qish uchun (agar siz faqat get usulidan 
foydalansangiz) yoki faqat yozish uchun (faqat belgilangan usuldan 
foydalansangiz) bo'lishi mumkin. 
o
Moslashuvchan: dasturchi boshqa qismlarga ta'sir qilmasdan kodning 
bir qismini o'zgartirishi mumkin. 
o
Ma'lumotlar xavfsizligini oshirish. 
Merosxo‘rlik (extends) 
extends kalit so'zi sinfni kengaytiradi (klass boshqa sinfdan meros bo'lib 
qolganligini bildiradi). 
Dasturlashda atribut va usullarni bir sinfdan ikkinchisiga meros qilib olish 
mumkin. Biz "meros tushunchasini" ikki toifaga birlashtiramiz: 

subclass (child) - boshqa sinfdan meros bo'lib qolgan sinf; 

superclass (parent) - meros qilib olingan sinf 
Sinfdan meros olish uchun kengaytirilgan (extends) kalit so'zdan 
foydalaniladi. 


class Vehicle {
protected String brand = "Ford"; // Vehicle attribute
public void honk() { // Vehicle method
System.
out.println("Tuut, tuut!");
}
}
class Car extends Vehicle {
private String modelName = "Mustang"; // Car attribute
public static void main(String[] args) {
Car myCar = new Car(); // Create a myCar object
// Call the honk() method (from the Vehicle class) on the myCar object
myCar.honk();
// Display the value of the brand attribute (from the Vehicle class) and the value of 
the modelName from the Car class
System.
out.println(myCar.brand + " " + myCar.modelName);
}
}
Polimorfizm 
Polimorfizm "ko'p shakllar" degan ma'noni anglatadi va bizda bir-biri bilan 
irsiy bog'liq bo'lgan ko'plab sinflar mavjud bo'lganda paydo bo'ladi. 
Oldingi bobda aytib o'tganimizdek; Meros atributlar va usullarni boshqa 
sinfdan meros qilib olish imkonini beradi. Polimorfizm bu usullardan turli 
vazifalarni bajarish uchun foydalanadi. Bu bizga bitta harakatni turli yo'llar bilan 
bajarishga imkon beradi. 
Misol uchun, AnimalSound() deb nomlangan usulga ega Animal deb 
nomlangan superklassni o'ylab ko'ring. Hayvonlarning kichik sinflari cho'chqalar, 
mushuklar, itlar, qushlar bo'lishi mumkin va ular hayvonlarning o'ziga xos ovoziga 
ega. 
class Animal {
public void animalSound() {
System.
out.println("The animal makes a sound");
}
}
class Pig extends Animal {
public void animalSound() {
System.
out.println("The pig says: wee wee");
}
}


class Dog extends Animal {
public void animalSound() {
System.
out.println("The dog says: bow wow");
}
}
Endi biz Pig va Dog obyektlarini yaratishimiz va ularning ikkalasida 
animalSound() usulini chaqirishimiz mumkin: 
Endi biz Pig va Dog obyektlarini yaratishimiz va ularning ikkalasida 
animalSound() usulini chaqirishimiz mumkin: 
class Animal {
public void animalSound() {
System.

Yüklə 471,54 Kb.

Dostları ilə paylaş:
1   2   3   4




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©www.genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə