C# dasturlash tilida sinflar ierarxiyasini tashkil etish


Download 1.16 Mb.
Pdf ko'rish
bet28/35
Sana05.01.2022
Hajmi1.16 Mb.
#213141
1   ...   24   25   26   27   28   29   30   31   ...   35
Bog'liq
c dasturlash tilida sinflar ierarxiyasini tashkil etish

                            KONSRUKTORLARDA  THIS 

 

   Point  sinfining  keyingi  varianti  this  va  metodlar  joylashishi  qanday  qilib  bir 



konstruktor boshqalari negizida qurilishini taqdim etadi. 

class Point { int х, у;  




57 

 

Point(int х, int у) {  



this.x = х; this.у = у;  

Point()  



{  

х = -1;  

у = -1;  

} }  


 

Bu misolda ikkinchi konsruktor oby’ekt inisializasiyasini yakunlash uchun birinchi 

konstruktorga  murojaat  etadi.Nomlar  joylashishida  qo’llaniladigan  metodlar 

konstruktor bo’lishi shart emas. 

Keyingi  misolda  Point  sinfiga  ikkita  distance  metodi  qo’shiladi.  Distance 

funksiyasi  ikkita  nuqta  orasidagi  masofani  qiymatini  qaytaradi.  Joylashtirilgan 

metodlardan  biriga    x    va    y    nuqtali  koordinatalari  parametr  sifatida  yuboriladi, 

boshqasiga esa xuddi shu ma’lumot  Point ob’ekti – parametri sifatida yuboriladi. 

 

class Point { int х, у;  



Point(int х, int у) {  

this.x = х; 

this. y = y; }  

double distance(int х, int у) {  

int dx = this.x - х;  

int dy = this.у - у;  

return Math.sqrt(dx*dx + dy*dy);  

}  


double distance(Point p) {  

return distance(p.x, p.y);  

} }  

class PointDist {  




58 

 

public static void main(String args[]) { 



 Point p1 = new Point(0, 0);  

Point p2 = new Point(30, 40);  

Console.Write ("p1 = " + pi.x + ", " + p1.y);  

Console.Write("p2 = " + p2.x + ", " + p2.y); 

 Console.Write ("p1.distance(p2) = " + p1.distance(p2)); 

 Console.Write ("p1.distance(60, 80) = " + p1.distance(60, 80));  

} } 

E’tibor  bering  distance  metodining  ikkinchi  formasida  natija  olish  uchun  uning 



birinchi formasi talab etiladi. 

Pastda shu ish programmasining natijasi keltirilgan. 

р1 = 0, 0                                       р2 = 30, 40  

р1.distance(p2) = 50.0  

p1.distance(60, 80) = 100.0 

Base 


   Point  3D  sinfli  misolda  supersinf  tarkibidagi  kod  takrorlanib  keladi.Bir  eslab 

ko’ring  ikkinchi  konsruktorda  this  ni  biz  shu  sinfning  birinchi  konsruktorini 

chaqirish  uchun  qo’llaganmiz.Base  kalit  so’zi  supersinf  konsruktoriga  murojaat 

etishiga yo’l ochib beradi. 




Download 1.16 Mb.

Do'stlaringiz bilan baham:
1   ...   24   25   26   27   28   29   30   31   ...   35




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