Diskuze: dedenie konštruktora c#
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 5 zpráv z 5.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Přesně takhle jak jsi napsal. Btw, ten override ToString v té třídě Some je celkem zbytečný.
No ani nie tak celkom, ten override je tam preto ze potomok nerobí presne to
isté co "rodič",
Console.WriteLine("rodic" ...
Console.WriteLine("potomok"...
a i tak to čo som postol neskompiluje, lebo
Console.WriteLine("potomok" + a + "--" + b);
a v triede Vetva nemam definovane premenné a,b ktorým by konštruktor mal
priradiť hodnoty
Ďakujem:)
Oni tam jsou, ale jsou private. Jestli chceš, aby ty proměnné byly viditelné i v potomku (ale jen uvnitř) použij modifikátor protected.
Chybu by ti to mělo vyhodit, že ty proměnné ani nevidíš a né že nejsou inicializované
public class Some
{
protected int a, b;
public int Vaha { get; set; }
public Some()
{
a = 10;
b = 15;
}
public virtual void Print()
{
Console.WriteLine("rodic" + a + "--" + b);
}
}
public class Vetva : Some
{
public Vetva() : base() { }
public override void Print()
{
Console.WriteLine("potomok" + a + "--" + b);
}
}
Zobrazeno 5 zpráv z 5.