关于类和继承的问题?(5分)

  • 主题发起人 主题发起人 zengxiaomeng
  • 开始时间 开始时间
Z

zengxiaomeng

Unregistered / Unconfirmed
GUEST, unregistred user!
如下,我定义了一个基类data和它的一个派生类data1
如果我用data d1=new data1()引用一个对角的话,我定义的d1对象是属于哪个类,是data还是data1,如果是data1,那么我为什么不能对d1.z赋值操作呢
class data
{ public int x,y;}
class data1:data
{ public int z;}
class MyEnrty
{
public static void Main()
data d1=new data1();
d1.x=1;
d1.y=2;
d1.z=3;
//这里会出错
}
请教一下这是什么原因
 
d1是data的实例。
 
可是用
Console.WriteLine(d1.ToString());
显示的却是System.data1呀
 
(data1)d1.z=3;
这样试试?
 
要区分某个对象的声明类型和实际类型。
 
class data
{ public int x,y;}
class data1:data
{ public int z;}
class MyEnrty
{
public static void Main()
data1 d1=new data1();
d1.x=1;
d1.y=2;
d1.z=3;

}
 
恩,不是吧
 
同意shijunwu 测试通过![:D]
data d1=new data1();
//相当于创建了data1 降级成了 data 类似delphi中的dataset := Tquery.create(nil);
子可以赋值给父,然后只能当父使用了!
data1 d1=new data1();
//创建了data1,
 
接受答案了.
 
后退
顶部