我需要在我的应用程序中创建同一个类的多个实例。 在本课程中,我需要访问其他课程的属性,而且我并不是真的想在我的所有课程中推动我的属性。
所以我认为我可以让这个类继承自具有我需要的所有属性的父类。
例如:
// This class is called only once at the start of my app
class Parent
{
int Property1 = 0;
public Parent(int val)
{
this.Property1 = val;
}
}
class Child : Parent
{
public Child()
{
}
public void PrintProp()
{
// Will always print the value of Parent's Property1 which has been defined only once
Console.WriteLine(Property1);
}
}
该代码的问题是,每次我定义一个新的Child()时,Property1值为0,而不是我在程序启动时发送的值。
我怎样才能做到这一点?
答案 0 :(得分:4)
面向对象编程语言中的继承是一种用于关联维护是关系的类的机制。1
有关this article编程语言作者的观点,请参阅Eiffel。
有关详细信息,另请参阅this wikipedia article。 (我会注意到,目前该文件的来源很差。)
看来,您要完成的工作类似于全局值或跨实例共享值。有关在Windows Presentation Framework中执行此操作的机制,请参阅this article。
如果您希望新实例与另一个实例具有相同的值,则需要复制这些值,或者将一个实例指向另一个实例对象以获取其值。
要以面向对象的方式共享全局值,请查看Singleton Pattern。