我有一个关于 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 类中的非公共参数?
谢谢