2012-02-02 108 views
0

我有不同的图形类,如直方图类,马类.. 他们有共同的变量,但不同的属性变量。例如,所有类都有一个id,但每个类都有不同的属性变量。例如,column_width是特定于直方图的。现在我想用一个普通的类来保存所有对象(每个类的实例)。我的意思是,我想写一个具有公共变量和属性结构的类。有可能写它?属性struct可以为不同的类保存不同的变量?我希望我能解释这种情况。同名结构(类)与不同变量

+1

2个字:Inheri-,孟清湘 – CodingGorilla 2012-02-02 14:28:02

+0

感谢,我记得,但我不知道。 – user983924 2012-02-02 14:43:02

回答

0

这个问题有点含糊,所以这只是一个草图的答案。如果您需要更多答案,您可能需要更具体。无论如何,你可以从另一个类继承一个类。基类是继承的类,派生类是继承的类。派生类可以访问基类的所有公共和受保护成员(但不是私有成员)。这里有一个很小的例子(甚至不是编制,但你得到的图片):

class IdentifiableBase 
{ 
    public string id; 
} 

class Histogram : IdentifiableBase 
{ 
    protected int column_width; 
} 

class Ma : IdentifiableBase 
{ 
    protected string some_property_of_ma; 
} 

class Example 
{ 
    public static void Main(string[] args) 
    { 
    IdentifiableBase[] example = new IdentifiableBase[] { new Histogram(), new Ma() }; 
    Console.WriteLine("{0}, {1}", example[0].id, example[1].id); 
    } 
}