Az osztályok tulajdonságai (property) öröklődhetnek? Ha igen, akkor hogy? (C#)
Hogy hogy hogyan?
Úgy hogy a gyerek osztály megkap minden metódust a szülőtől és a szülőtől örököltek elérhetősége a gyerekben attól függ hogy milyen elérési módosítót használtál a szülő osztályban levő metódusok definiálásakor.
class Program
{
static void Main(string[] args)
{
Valami2 bármi=new Valami2("ez");
Console.WriteLine(bármi.Akármi);
Console.ReadLine();
}
}
class Valami
{
protected string akármi;
protected string Akármi
{
get{return akármi;}
}
public Valami(string akármi)
{
this.akármi=akármi;
}
}
class Valami2 : Valami
{
public Valami2(string akármi):base(akármi)
{
this.akármi=akármi;
}
}
Ezzel mi a baj? Láthatósági problémára panaszkodik a fordító.
A Valami.Akármi protected, így kívülről nem látható.
A hiba nem a Valami osztályokban van (bár azért az sem szép ahogy csinálod, ha property van, akkor mért a fieldet állítod a Valami2 konstruktorában ill egyáltalán mért állítod, ha ezt a Valami osztály konstruktora is megteszi, na mindegy ezt hagyjuk)
A hiba a Main függvényben van, ahol a protected bármi.Akármit hívod.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!