class Dog
{
public void Bark()
{
Console.WriteLine("<Name_Of_Dog> just barked!")
}
}
static void Main()
{
Dog Spike=new Dog();
Dog Mike=new Dog();
Spike.Bark();
}
现在我希望控制台输出为:&#34; Spike只是咆哮!&#34; 我怎么能这样做?
答案 0 :(得分:0)
改为使用属性或字段:
class Dog
{
string Name
public void Bark()
{
Console.WriteLine("{0} just barked!", Name)
}
public Dog(string name)
{
this.Name=name;
}
}
static void Main()
{
Dog Spike=new Dog("Spike");
Dog Mike=new Dog("Mike");
Spike.Bark();
}
答案 1 :(得分:0)
开发人员使用变量的名称。它用于通信,揭示该变量存在的原因,它的作用以及如何使用它。业务逻辑应该与变量名完全无关。
在这种情况下:object potato = new Object()
,这不是因为我将我的对象马铃薯命名为自动变为一个。在您的示例中,使用这样的狗名称仅向开发人员指示此Dog实例名为Spike,而不是它代表的实际对象是名为Spike的狗。
您需要的是通过properties
或fields
定义对象的特征。
根据您的情况,您需要一个名为Name的字段。为什么不是财产?因为物体就像间谍,他们想要将一切都隐藏在整个世界之外。由于您未在应用程序的其他位置使用该名称,因此请在类级别限制范围:
class Dog
{
private readonly string name;
public Dog(string name)
{
this.name = name;
}
public void Bark()
{
Console.WriteLine("{0} just barked!", name);
}
}
主要:
Dog Spike = new Dog("Spike");
使用属性,它看起来像这样:
class Dog
{
public string Name { get; set; }
public void Bark()
{
Console.WriteLine("{0} just barked!", Name);
}
}
主要成为:
Dog Spike = new Dog { Name = "Spike" };