ich hab mal ne frage und zwar hab ich:
Quote:
interface IGemeinde{
string name{get;}
}
Quote:
interface Ikreisfreigemeinde : IGemeinde
{
}
jetzt hab ich eine unterklasseQuote:
class Gemeinde : IGemeinde{
private string _name
public string name{get{return _name;}}
}
wenn ich in kreisfremdegemeinde jetzt base aufrufen will, wer wird adressiert ?Gemeinde oder die Ikreisfremdegemeinde?Quote:
class KreisfreieGemeinde : Gemeinde,IKreisfreieGemeinde
{
private string _name;
public string name
{
get { return _name; }
}
public KreisfreieGemeinde(string name)
: base(name)
{
if (string.IsNullOrEmpty(name))
throw new Exception("kein name zugewiesen");
_name = name;
}
public override bool Equals(object obj)
{
KreisfreieGemeinde g = obj as KreisfreieGemeinde;
return g != null && base.Equals(obj)
&& this._name.Equals(g._name);
}
public override int GetHashCode()
{
return base.GetHashCode() ;
}
public override string ToString()
{
return base.ToString() ;
}
}
Wieso muss ich nochmal private und public string name definieren,wird doch von der oberklasse geerbt?
Und wenn ich nur die Schnittstelle implementiere, kann ich den konstruktor über : base(name) nichtmehr aufrufen
über hilfe wäre ich froh!
Ps: über rechtschreibfehler soll hinweggesehen werden ,das sollte nur grob dargestellt werden, Das programm funktioniert atm auch so bekomme nur die warnung:
Quote:
Warnung 2 'Daten.KreisangehörigeGemeinde.name' blendet den vererbten Member 'Daten.Gemeinde.name' aus. Verwenden Sie das new-Schlüsselwort, wenn das Ausblenden vorgesehen war.






