person[0]肯定是一个Person类型 就和定义数组一样的 如:int []a=new int[9]; a[0]中的数肯定是一个int类型的啊。
sun 和sun1还是 Sun类型
person[0]和person[1]可以转换为Sun类型的 Sun s=(Sun)person[0];
在没有发生转换时用sun和sun1可以调用父类和子类的字段方法,person[0]只能调用父类的字段方法。
eg:
namespace 测试1
{
class Program
{
static void Main(string[] args)
{
Sun sun = new Sun("吴沉桦","女","女人",100);
Sun sun1 = new Sun("小明", "男", "男人", 180);
Person[] person = {sun,sun1 };
Console.WriteLine(person[0].name);
Console.WriteLine(sun.sex);
Console.ReadKey();
}
}
public class Sun:Person
{
public string gender = "";
public int height = 0;
public Sun(string Name,string Sex,string Gender,int Height)
:base(Name,Sex)
{
this.gender = Gender;
this.height = Height;
}
}
public class Person
{
public Person(string name,string sex)
{
this.name=name;
this.sex=sex;
}
public string name = "";
//public string Name
//{
// get { return name; }
// set { name = value; }
//}
public string sex = "";
//public string Sex
//{
// get { return sex; }
// set { sex = value; }
//}
}
}
|