Hirdetés
Új hozzászólás Aktív témák
-
Lortech
addikt
1. kérdés, itt hol van a konstruktor és mit csinál itt? Annyit tudok róla, hogy egy speiciális metódus ami példányosítás során jön létre... De jó lett volna egy magyarázat a kódban, hogy mit hol hogyan működik.
Így van, a konstruktor egy speciális metódus ami az objektum példányosításakor az obj. kezdőállapotát hivatott beállítani.
Ha nem adsz meg konstruktort, akkor implicit módon egy paramétert nélküli konstruktor jön létre.
A példában a konstruktor beállítja a két példány szintű változót a paraméterben kapott értékre.
Tehát a
Dog d=new Dog("Rex", 2);
sor után hivatkozhatsz d.name és d.age -re.2. kérdés: public Dog(string n, int a) lenne az objektum?
Nem, ez konkrétan a konstruktor. Az objektum az osztályod egy példánya.
kieg: vegyük észre, hogy nincs visszatérési típusa, ez is a konstruktor ismérve.3. kérdés a this. metódus itt mit csinál? Annyi magyarázat volt, hogy egy konstruktorból hívhatunk egy másikat...
A this kulcsszó (a Dog nevű osztály definíciójában vagyunk)
itt az objektumpéldány referenciájára mutat. Gyak. a példányt magát jelenti. Ezzel például más metódusnak adhatjuk át az aktuális példánynak vagy szokás azonos névvel ellátni a bemenő paraméterek nevét az osztály megfelelő mezőinek neveivel.
pl.using System;
class Dog
{
private string name;
private int age;public Dog(string name, int age)
{
this.name=name;
this.age=age;
}
}class Program
{
static public void Main()
{
Dog d=new Dog("Rex", 2);
}
}A példában name és age a bemenő paraméter, a this kulcsszóval azt mondod meg, hogy a this-en keresztül hivatkozott mezők az objektumpéldány példány szintű változói, nem pedig a bemenő paraméterek.
this()-szel hívhatsz másik konstruktort is egy konstruktorból, pl:
...
private String sex;
public Dog(string name, int age)
{
this(name,age,"ismeretlen");
}
}public Dog(string name, int age, String sex)
{
this.name=name;
this.age=age;
this.sex = sex;
}
}...
Ú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!
- Gigabyte RTX 5070 Ti AERO OC - Garancia 2029.01.06-ig +1 év gyártói garancia
- ZBook Fury 15 G8 15.6" FHD IPS i7-11850H RTX A3000 32GB 512GB NVMe magyar vbill ujjolv IR kam gar
- 2db MSI MAG272CQR 27" Ívelt Gaming Monitor 165Hz / 1440p / HDR / VA panel - egyben vagy külön
- Optimális Gamer konfig eladó
- Latitude 5400 14" FHD IPS i5-8365U 16GB 256GB NVMe ujjlolv IR kam gar
- BESZÁMÍTÁS! HP Elitedesk 800 G1 USDT brand - i7 4790S 16GB DDR3 256GB SSD Intel HD 4600 250W WIN10
- LG 75QNED86T3A / QNED / 75" - 164 cm / 4K UHD / 120Hz / HDR Dolby Vision / FreeSync Premium / VRR
- Eladó Apple iPhone 12 64GB / AKKU 100% / 12 hónap jótállás
- Apple iPhone 13 mini / 128GB / Kártyafüggetlen / 12Hó Garancia / Akku: 87%
- MacBook Pro 14 2024 M4, 32 GB RAM, 1 TB SSD 27% Áfás
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


