我需要在现有类中添加一些新字段及其所有现有字段/属性。
因此,每当我的派生类被DAL填充时,我也将填充基类的所有字段。目前,我这样做但不确定这是正确的方法吗?请举个例子。另外,我不确定每次初始化派生类时基类对象是否都是新的?
public class Employee
{
private int _id;
private int _name;
public int ID
{
set { _id=value;}
get { return _id;}
}
public int Name
{
set { _name=value;}
get { return _name;}
}
protected void SetName ()
{
_name=value;
}
protected void SetID()
{
_id=value;
}
}
public class EmployeeWithDepartmentName:Employee
{
private string _deptName;
public string DeptName
{
set { _deptName=value; }
}
public setBaseEmpName()
{
base.SetName();
}
public setBaseID()
{
base.SetID();
}
}
答案 0 :(得分:1)
基类中的所有内容都可以从派生类中自动访问而无需任何操作,只需直接使用属性/方法名称。
public class MyBase
{
public string UserName {get;set;}
}
public class MyClass : MyBase
{
public void DoSomething()
{
Console.WriteLine("UserName: {0}", UserName);
UserName = "Anders";
}
}
你也可以这样做:
MyClass myClass = new MyClass();
myClass.UserName = "Rune";
受保护意味着只有派生类才能访问属性/方法。公共意味着每个人都可以访问属性/方法。
我也不确定每次初始化派生类时基类对象是否都是新的?
这不是两个对象,它是从两个不同的类创建的一个对象(这就是继承的工作原理)。
阅读有关继承的文章:http://www.csharp-station.com/Tutorials/lesson08.aspx