Új hozzászólás Aktív témák
-
Lortech
addikt
Ez itt valami példa lenne gondolom a referencia és az érték szerinti paraméterátadások ill. annak mellékhatásainak szemléltetésére.
Value metódus - érték szerinti-
Reference metódus - referencia szerinti paraméterátadás.Value metódusban a bemenő paraméter int típus, "érték típus", ha hivatkozol rá a változónévvel, akkor az értékre hivatkozol (nem referenciára).
Ha megváltoztatod a metóduson belül a "param" bemenő paramétert, nem változik meg a Value függvény hívása helyén megadott változó, mivel a metódus annak egy másolatát kapja meg valójában.(Value hívását nem másoltad be, de gondolom ott lehet a könyvben vmi ilyesmi példa is, hogy:
WrappedInt wi = new WrappedInt();
Console.WriteLine(wi.Number);
Pass.Value(wi.Number);
Console.WriteLine(wi.Number);)
A Reference metódus egy referencia típust vár bemenő paraméterként, a típus a WrappedInt. A példában a Reference metódus hívása helyén a WrappedInt osztály
"wi" nevű objektumpéldányát, ill. annak referenciáját adja át a metódusnak, tehát az eredetileg WrappedInt wi = new WrappedInt(); sorral példányosított objektumra képes hatni, ahogy teszi is az objektum "Number" mezőjének megváltoztatásával.Konkrétan a kérdésedre válaszolva:
1, mert a Reference fgv formális paraméterlistája a"WrappedInt param", tehát nem int típust vár a fgv, ha a Numbert adta volna át, azzal nem tudta volna szemléltetni a referencia szerinti paramátadást.
2, szóval param.Number = 42;
param a bemenő paraméter, típusa WrappedInt, ami egy osztály, referencia típus, tehát konkrétan param az ugyanaz az objektum, ill referenciája, mint amit a WrappedInt wi = new WrappedInt(); sorral példányosítottál.
A WrappedInt egyetlen mezője a Number, példányszintű és publikus, ezért hivatkozhatsz rá a példában megadott módon param.Number-ként. A mezőnek egyszerűen értéket adunk.
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- NBA és kosárlabda topic
- Formula-1
- Igen, jól tippeltünk, itt a fekete D15 G2
- Elektromos autók - motorok
- AutoCAD
- Samsung LCD és LED TV-k
- Szívós, szép és kitartó az új OnePlus óra
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Hyundai, Kia topik
- exHWSW - Értünk mindenhez IS
- További aktív témák...
- Újszerű bivaly Lenovo Thinkpad T16 gen3 (13.gen Core Ultra 7 32Gb DDR5 1 Tb SSD) MAGYAR 30 hó GARI!
- Bivaly Lenovo T14 gen5 (Core Ultra 7 32Gb DDR5 1 Tb SSD) laptopom eladó 30 hónap gyártói garanciával
- Bomba ár! Dell Latitude 3410 - i3-10110U I 8GB I 256SSD I HDMI I 13,3" FHD Touch I Cam I W11 I Gari
- Bomba ár! Dell Latitude E5550 - i5-5GEN I 8GB I 128SSD I 15,6" FHD Touch I HDMI I W10 I Cam I Gari!
- Bomba ár! Dell Latitude E5540 - i5-4GEN I 4GB I 240SSD I Nvidia I 15,6" FHD I Cam I W10 I Garancia!
- Lenovo ThinkPad L16 Gen 1 - 16" WUXGA IPS - Ultra 5 135U - 16GB - 512GB - Win11 - 2,5 év gari
- Bomba ár! HP EliteBook 830 G8 - i7-1185G7 I 16GB I 512SSD I HDMI I 13,3" FHD I Cam I W11 I Gari!
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7700X 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- Apple iPhone 17 Air 256,Új, Bontatlan,36 hónap garanciával
- Telefon felvásárlás!! Apple Watch SE/Apple Watch SE 2 (2022)
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

