继承中的问题。

zy850919 2009-04-22 11:44:44
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Example_3
{
public class Employee
{
public virtual void EmpInfo()
{
Console.WriteLine("该方法显示职员信息");
}
}
public class DervEmployee : Employee
{
public override void EmpInfo()
{
base.EmpInfo();
Console.WriteLine("该方法重写base方法");
}
}
class Program
{
static void Main(string[] args)
{
DervEmployee objDervEmployee = new DervEmployee();
objDervEmployee.EmpInfo();
Employee objEmployee = objDervEmployee;
objEmployee.EmpInfo();
}
}
}



整个程序的思路我很清楚,我只是不明白
Employee objEmployee = objDervEmployee
这一句是含义,是要把DervEmployee这个类的实例给Employee的实例吗?还是引用?我不是很明白这里引用的意义。请高手讲解这句的含义。谢谢!
...全文
64 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zy850919 2009-04-24
  • 打赏
  • 举报
回复
哦。。。呵呵,谢谢各位,平均分分数把。嘿嘿
whese 2009-04-22
  • 打赏
  • 举报
回复
Employee objEmployee = objDervEmployee
Employee 是objEmployee的类型``

如果把Employee 看成是 int 或是string 你肯定看的明白
createTim 2009-04-22
  • 打赏
  • 举报
回复
你就把基类当成object类型
createTim 2009-04-22
  • 打赏
  • 举报
回复
这叫装箱
qiu_xue_ 2009-04-22
  • 打赏
  • 举报
回复
给它
gxj760998 2009-04-22
  • 打赏
  • 举报
回复
在学校的时候也很不理解这个,建议LZ详细了解下OO的三大支柱含义。就会知道为什么啦!
对这个概念,我认为,理解功能是重要的,至于实现的技术细节是次要的,比如:在内存中的地址就是相同的。
zealot1021 2009-04-22
  • 打赏
  • 举报
回复
北大青鸟的书上不是有注释么...这是引用,Employee objEmployee = objDervEmployee
执行完这句后
objEmployee 和objDervEmployee 在内存中的地址就是相同的

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧