C# dasturlash tilida sinflar ierarxiyasini tashkil etish
Download 1.16 Mb. Pdf ko'rish
|
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: |
ma'muriyatiga murojaat qiling