Új hozzászólás Aktív témák
-
Lakers
tag
Sziasztok!
Kiírásnál estem gondolkodba, elkezdtem probálgatni.
Itt van néhány kódrészlet:abstract class Allat
{
private int suly;
public static int AdoAlap; // megosztott: minden egyes példány ugyanazt látja
public abstract void Hangoskodik();
public abstract double Ado { get; }
public int Suly
{
get { return this.suly; }
protected set { this.suly = value; }
}
public virtual void Hizlal(int deka)
{
Suly += deka;
if (this.Suly > 200)
Suly = 200;
}
} class Sertes:Allat {
public uint MalacSzam;
public override void Hangoskodik()
{
Console.WriteLine("röf-röf");
}
public override double Ado
{
get { return AdoAlap * 2 * Suly / 5000; }
}
public override void Hizlal(int deka)
{
Suly+=deka;
} }és még a főprogramban:
Sertes s = new Sertes();
s.MalacSzam = 4;
s.Hizlal(25000);
for (int i = 0; i < 5; i++)
{
udvar.Add(s);
}
...
Sertes disznocska = at as Sertes; //Ha at változóban Sertes példány volt
if (disznocska !=null)
{
Console.WriteLine("Súly: {0} Adó: {1} Malac Száma: {2}",
disznocska.Suly,
disznocska.Ado,
disznocska.MalacSzam);
}
...Ez ideig rendben van. A MalacSzam (ami sorszám lenne), és a Sulyt is (hízlal metóduson keresztül) mindegyiknél ugyanaz.
Viszont elkezdtem próbálgatni, és más kis rész feladatotak kitalálni rá:
s.Hizlal(25000);
for (int i = 0; i < 5; i++)
{
udvar.Add(s);
s.MalacSzam += 1;
}
Akkor a súlya 125000 lesz ez okés és. De a MalacSzam mindenütt 5 lesz... Ez miért következett be?
Mert én úgy akartam, hogy a MalacSzam mint sorszam, kiíratásnál 1,2,3,4 legyen.
Ezt hogyan lehet megvalósítani?
(lehet a C után az objektum orientált gondolkodásom még nem az igazi, vagy csak pusztán amatőr hibát vétek)
Ú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!
- 15.gen! Intel Core ULTRA 9 285K (24mag!) +hűtött VRM-es Z890 lap! GAR/SZÁMLA (Te nevedre kiállítva)!
- LENOVO YOGA 9 Pro 14 83BU004BHV
- iPhone 13 - Pink - 128GB - kártyafüggetlen - Akku 90%
- Apple Watch Series 10 GPS+Cellular 46mm, Újszerű, 1 Év Garanciával
- Ryzen 5 5500 / 32GB RAM / ASUS 4060 8GB / 1TB SSD
- HIBÁTLAN iPhone 13 256GB Pink -1 ÉV GARANCIA - Kártyafüggetlen, MS3732
- Bomba ár! Dell Latitude E7240 - i5-4GEN I 8GB I 128SSD I 12,5" HD I HDMI I W10 I Garancia!
- GYÖNYÖRŰ iPhone 13 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS4599, 100% Akkumulátor
- Dell Latitude 3420 - i5 1135G7 ,16GB RAM, SSD, jó akku, EU bill., számla, 6 hó gar
- Keresünk iPhone 16/16e/16 Plus/16 Pro/16 Pro Max
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
