C#中类的引用

[复制链接]
查看11 | 回复2 | 2008-11-26 21:25:06 | 显示全部楼层 |阅读模式
using System;
class Employee
{

public virtual void EmpInfo()

{

Console.WriteLine("该方法显示职员信息");

}
}
class DervEmployee : Employee
{

public override void EmpInfo()

{

base.EmpInfo();

Console.WriteLine("该方法重写base方法");

}
}
class Test
{

static void Main()

{

DervEmployee demp = new DervEmployee();//创建派生类DervEmployee的实例

demp.EmpInfo();

Employee emp;//引用Employee

emp = demp;//把Employee类的引用指向派生类实例demp

emp.EmpInfo();

}
}
请问:
1.语句和语句的区别?也就是说,创建一个类的实例和引用一个类之间有什么区别?
2.语句中,把基类的引用指向派生类的实例,是什么意思?能否说得具体点?

回复

使用道具 举报

千问 | 2008-11-26 21:25:06 | 显示全部楼层
1. 语句1做的事情是声明了一个DervEmployee 类的对象,并进行了实例化;语句2只是声明没有实例化。没有实例化的对象是null,不能访问其属性和方法,否则会报错2. 这句话做的是类型转换,将子类隐式转换为基类。...
回复

使用道具 举报

千问 | 2008-11-26 21:25:06 | 显示全部楼层
定义了一个DervEmployee类型的变量,并分配了内存空间或者说实例化了,可以使用; 定义了一个Employee类型的变量,但是没有给他分配内存空间,使不能使用的类似C++中的指针,emp = demp;这个赋值语句是让emp和demp指向相同的地址,也就是说以后对emp的操作就等同于对demp的操作,在面向对象语言中子类是可以...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行