using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;class Employee
{
protected string strName;
protected string strSex;
protected string strEmail;
protected string strDept; public Employee(string name, string sex, string email, string dept)
{
strName = name;
strSex = sex;
strEmail = email;
strDept = dept;
} public string EmployeeName
{
get
{
return strName;
}
set
{
strName = value;
}
} public string Sex
{
get
{
return strSex;
}
set
{
strSex = value;
}
} public string Email
{
get
{
return strEmail;
}
set
{
strEmail = value;
}
} public string Department
{
get
{
return strDept;
}
set
{
strDept = value; }
} virtual public String TellInfo()
{
String str = "姓名:" + strName + "性别:" + strSex + "部门:" + strDept + "Email:" + strEmail;
return str;
}}class Manager : Employee
{
private string strLevel;
public Manager(string name, string sex, string email, string dept, string level)
: base(name, sex, email, dept)
{
strLevel = level;
}
public string Level
{
get
{
return strLevel;
}
set
{
strLevel = value;
}
} public override String TellInfo()
{
String str = base.TellInfo() + "岗位级别:" + strLevel;
return str;
}
}
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Employee[] emps = new Employee[3];
emps[0] = new Employee("张海", "男", "[email protected]", "市场部");
emps[1] = new Employee("李楠", "女", "[email protected]", "总经理办公室");
emps[2] = new Manager("王勇", "男", "[email protected]", "开发部", "高级"); for (int i = 0; i < 3; i++)
{
Response.Write("以下是我的信息:<br>");
Response.Write(emps[i].TellInfo());
Response.Write("<br>");
}
}
}程序倒数第9行 代码
emps[2] = new Manager("王勇", "男", "[email protected]", "开发部", "高级");
有些不太明白 上面已经有语句Employee[] emps = new Employee[3]; 表明 emps[0], emps[1], emps[2]都是Employee类的对象 Employee类只有strName strSex strEmail strDept这4个字段 并没有strLevel字段 程序倒数第9行用new Manager("王勇", "男", "[email protected]", "开发部", "高级");定义的是Manage类的对象怎么能附给Employee对象呢 我觉得程序应该报错 可运行却通过了 不知道为什么?
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;class Employee
{
protected string strName;
protected string strSex;
protected string strEmail;
protected string strDept; public Employee(string name, string sex, string email, string dept)
{
strName = name;
strSex = sex;
strEmail = email;
strDept = dept;
} public string EmployeeName
{
get
{
return strName;
}
set
{
strName = value;
}
} public string Sex
{
get
{
return strSex;
}
set
{
strSex = value;
}
} public string Email
{
get
{
return strEmail;
}
set
{
strEmail = value;
}
} public string Department
{
get
{
return strDept;
}
set
{
strDept = value; }
} virtual public String TellInfo()
{
String str = "姓名:" + strName + "性别:" + strSex + "部门:" + strDept + "Email:" + strEmail;
return str;
}}class Manager : Employee
{
private string strLevel;
public Manager(string name, string sex, string email, string dept, string level)
: base(name, sex, email, dept)
{
strLevel = level;
}
public string Level
{
get
{
return strLevel;
}
set
{
strLevel = value;
}
} public override String TellInfo()
{
String str = base.TellInfo() + "岗位级别:" + strLevel;
return str;
}
}
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Employee[] emps = new Employee[3];
emps[0] = new Employee("张海", "男", "[email protected]", "市场部");
emps[1] = new Employee("李楠", "女", "[email protected]", "总经理办公室");
emps[2] = new Manager("王勇", "男", "[email protected]", "开发部", "高级"); for (int i = 0; i < 3; i++)
{
Response.Write("以下是我的信息:<br>");
Response.Write(emps[i].TellInfo());
Response.Write("<br>");
}
}
}程序倒数第9行 代码
emps[2] = new Manager("王勇", "男", "[email protected]", "开发部", "高级");
有些不太明白 上面已经有语句Employee[] emps = new Employee[3]; 表明 emps[0], emps[1], emps[2]都是Employee类的对象 Employee类只有strName strSex strEmail strDept这4个字段 并没有strLevel字段 程序倒数第9行用new Manager("王勇", "男", "[email protected]", "开发部", "高级");定义的是Manage类的对象怎么能附给Employee对象呢 我觉得程序应该报错 可运行却通过了 不知道为什么?
emps[2] = new Manager("王勇", "男", "[email protected]", "开发部", "高级");
我觉得对应得很好啊!!!!
: base(name, sex, email, dept)
这句起了作用
{
private string strLevel;
public Manager(string name, string sex, string email, string dept, string level)看看这几句,呵呵
他们是父子关系,
去翻番书,把类的继承好好看看吧