Mavzu: Merosxo’rlik (Inheritance)



Download 146,11 Kb.
Sana31.01.2022
Hajmi146,11 Kb.
#419787
Bog'liq
4-amaliy ishi Xusinov Shaxriyor 941-19 Paradigma


941-19 guruh talabasi Xusinov Shaxriyor
4-amaliy ishi
Mavzu: Merosxo’rlik (Inheritance)
Merosxo’rlik deb Ma'lum obyekt asosida boshqa obyektni yaratish jarayoniga aytiladi. Bir klassning boshqa klassdan meros olishi yordamida amalga oshiriladi. Meros olingan obyekt ota obyektdagi xususiyatlarni tanlovga ko'ra meros oladi. Masalan, avtoulov bu ota obyekt. Bu obyekt yordamida yengil mashina, yuk mashinasi, poyga mashinasi kabi boshqa obyektlarni yaratib olishimiz mumkin. Ota klassda bo'lgan 4 g'ildirak farzand klasslarda ham mavjud bo'ladi. Ya'ni poyga mashinasi, avtoulovdan g'ildiraklarni meros oladi. Ota klassdan meros olayotgan bola klassimiz ota klassning shaxsiy bo'lmagan ( private) barcha o'zgaruvchilari, funksiyalari va h.k larni meros qilib oladi.


Bu rasmda programmer employe dan meros sifatida “salary” ni oladi va programmer clasida bonus va salary nomli field lar bo’ladi.
class Employee{
float salary=40000; }
class Programmer extends Employee{
int bonus=10000;
public static void main(String args[]){
Programmer p=new Programmer();
System.out.println("Programmer salary is:"+p.salary);
System.out.println("Bonus of Programmer is:"+p.bonus);
}
}

Natija :
Programmer salary is:40000.0
Bonus of programmer is:10000
Yuqoridagi misolda Programmer klassi Employee klassidan meros olyapti va undagi float salary o'zgaruvchisini o'ziga o'zlashtirib olyapti.

Javada asosiy klassdan 3 xil usulda meros olish mumkin ular single (bir tomonlama), multilevel(bir necha class orqali) va hierarchical(iyerarxiya).


Javada bir vaqtning o'zida bir necha klass dan meros olib bo'lmaydi.

class A{
void msg(){System.out.println("Hello");}
}
class B{
void msg(){System.out.println("Welcome");}
}
class C extends A,B{
public static void main(String args[]){
C obj=new C();
obj.msg();//
}
}

Bu yerda Compile Time Error (Kompilyatsiya Vaqtida Xatolik) bo'ladi, chunki bir vaqtning o'zida klassi A, B klasslaridan meros olyapti. Yuqorida aytganimizdek javada bir vaqtning o'zida bir necha klassdan meros olib bo'lmaydi.


Topshiriq 1.


Domla nomli (Name, Kafedra , Experiance) fieldlari bo’lgan class yarating va Kurator nomli group nomli fieldi bor bo’lgan class yarating. Domla nomli classdan Kurator nomli classga meros oling. Va Main faylida getter , setter va konstruktorlardan foydalaning.
Domla.java
public class Domla {
public String name;
protected String qafedra;
private int experience;

public int getExperience() {


return experience;
}

public void setExperience(int experience) {


this.experience = experience;
}

void baxoQoyish(int baxo) {


System.out.println("Int toifasidagi baxo qo'yish funksiyasi chaqirildi");
}

void baxoQoyish(double baxo) {


System.out.println("Double toifasidagi baxo qo'yish funksiyasi chaqirildi");
}
}
Kurator.java
package encapsulation;

public class Kurator extends Domla {


private String group;

public Kurator() {


}

public Kurator(String name, String qafedra, int experience, String group) {


this.name = name;
this.qafedra = qafedra;
setExperience(experience);
this.group = group;
}

public String getName() {


return name;
}

public void setName(String name) {


this.name = name;
}

public String getQafedra() {


return qafedra;
}

public void setQafedra(String qafedra) {


this.qafedra = qafedra;
}

public int getExperience() {


return getExperience();
}

public void setExperience(int experience) {


if (experience >= 0 && experience <= 60) {
setExperience(experience);
}
}

public String getGroup() {


return group;
}

public void setGroup(String group) {


this.group = group;
}

@Override


public String toString() {
return "Kurator{" +
"name='" + name + '\'' +
", qafedra='" + qafedra + '\'' +
", experience=" + getExperience() +
", group='" + group + '\'' +
'}';
}
}
Main.java
package encapsulation;

public class Main {


public static void main(String[] args) {
Kurator kurator = new Kurator();

kurator.setName("Shaxriyor");


kurator.setExperience(5);
kurator.setGroup("941-19");
kurator.setQafedra("DI-Kafedra");

System.out.println(kurator.getName() + " " + kurator.getGroup());

Kurator kurator1 = new Kurator("Alibek", "KI-kafedra ", 2, "942-19");
System.out.println(kurator1.toString());

kurator.baxoQoyish(1); // int toifalisiga murojat qiladi


kurator.baxoQoyish(1.2); // double toifasidagiga murojat qiladi

}
}



Download 146,11 Kb.

Do'stlaringiz bilan baham:




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish