Qiymatli konstruktorlar.
Oldingi misolda Qiymatsiz konstruktorlardan foydalanilgandi. Buni ayrim hollarda Qo’llash mumkin, lekin ko’pchilik hollarda bir yoki bir necha parametrli konstruktorlardan foydalaniladi. Qiymatlarni parametrda Qo’llanilishi uni metodda Qo’llanilishidek bo’ladi. Quyidagi misolda Qiymatlarga ega bo’lgan konstruktor myclass sinfi keltirilgan.
G’G’ Qiymatlarga ega bo’lgan parametrni Qo’llanilishi.
using System;
class my class (
public int x;
public my class (int 1 )
x-i;
(class Parmconsdemo {
public static void Main ( ) {
My class t1-new Myclass ( );
My class t2-new Myclass ( );
console. Writeline (t1.x Q “”Q t2.x.);
Quyida shu programmani bajarilish natijalari keltirilgan. 20 88.
Konstruktorga Vehicle sinfini Qo’shish.
Konstruktor my class ( )ni my class ( ) sinfida o’zgaruvchan x ekzemplyarga boshlang’ich Qiymatni beruvchi bitta parametr (int tipidagi –i o’zgaruvchi) mavjud. Demak my class t1 q new Myclass (10) operatori bajarilgandan so’ng 10 Qiymat i parametrga uzatiladi va keyin x o’zgaruvchan tomonidan o’zlashtiriladi.
G’G’ Vehicle sinfiga konstruktorni Qo’shish.
Vehicle sinfini ob’ektni yaratishda avtomatik ravishda o’zgaruvchan passegres ga initsiallanuvchi konstruktorni Qo’shish orQali takomillashtirish mumkin. Kodni Vehicle sifini yaratuvchi Qatoriga e’tiborni Qarating.
Programmada Vehicle sinfining konstruktori aniQlangan yangi versiyasidan foydalanilgan.
G’G’ Bu programmada Vehicle sinfining yangi turi Qo’llaniladi
Using system;
Class Vehicle;
Public int passegres; G’G’ yo’lovchilar miQdori
Public int fuelcap; G’G’ bakdagi yoQilg’ining hajmi
Public int mpg ; G’G’ joylashish masofasi
G’G’ avtomabillning bir marta yurishi
G’G’ Vehicle sinfining konstruktori .
Vehicle sinfining konstruktori
| Public Vehicle (int p, int f, int m){
passengersqp;
fuelcapqf;
mpgqm;
)
G’G’ Metod avtomabil to’la bak bilan bosim o’tish mumkin bo’lgan maksimal masofa Qiymatini Qaytaradi.
Public int range ();
Return mpg * fuelcap;
G’G’ Metod unga parametr sifatida beriladigan masofa Qiymatini bosib o’tish miQdorini hisoblab beradi.
public double fuelneeded (int miles)
return (double) miles G’mpg;
)
)
class vehconsdemo {
public static void Main () {
G’G’ Vehicle sinfida ikkita ob’ekt yaratish. Konstruktordan foydalanib Vehicle sinfi ob’ekti avtomabili xarakteristikasini uzatish.
minivan va sportcar ob’ektlarini yaratishda Vehicle ( ) konstruktor bu ob’ektlarni o’zgaruvchanlariga boshlang’ich Qiymatlarini beradi. Har Qanday ob’ekt ko’rsatiladigan argument bo’yicha initsiallanadi. Masalan kodni Qatorida
Vehicle minivan – new Vehicle (7, 16, 21);
Vehicle sportcar – new Vehicle (2, 14, 12);
double gallons;
int distq252;
gallonsqminivan.fuelneeded (dist);
console.Writeline (“borish”Qdist Q “mikroavtobus mili” Q talab etiladi Q “gallons”Q “gallon yoQilg’isi”.);
gallonsq sportscar.fuelneeded(dist);
console.Writeline (“borish”Qdist Q “sportmashinasi mili” Q talab etiladi Q “gallons”Q “gallon yoQilg’isi”.);
Oldingi versiyadagidek ushbu programmani ham bajarilishda ob’ektni yaratishda ( operatorini bajarishda) 7, 16 va 21 Qiymatlar konstruktorga uzatiladi. Demak, passegres, mpg va fuelcap ob’ekti tegishlicha 7, 16 va 21 Qiymatlarga ega bo’ladi.
Minut praktikumi.
1. Konstruktor nima? U Qachon bajariladi?
2. Konstruktorda Qaytariladigan Qiymatini tipi ko’rsatadiladimi?
Do'stlaringiz bilan baham: |