C# の単純継承について質問です。
コードは次のとおりです。
class Mammal
{
int age { get; set; }
public Mammal(int age)
{
this.age = age;
}
}
class Dog : Mammal
{
string breed { get; set; }
public Dog(int age, string breed)
: base(age)
{
this.breed = breed;
}
}
class Program
{
static void Main(string[] args)
{
Dog joe = new Dog(8, "Labrador");
Console.WriteLine("Joe is {0} years old dog of breed {1}", joe.age, joe.breed); // gives error
}
}
これは、年齢と品種のパラメーターにアクセスできないため、エラーになります。そのため、哺乳類と犬のクラスでそれぞれ年齢と品種を公開しています。これにより、プログラムが正常に実行されます。
しかし、私の質問は、理想的にはパラメーターを非公開または非公開にし、公開メソッドを介してのみアクセスするべきではありませんか? その場合、Program クラスの非公開パラメーターにアクセスするにはどうすればよいですか?
ありがとう