簡體   English   中英

與孩子班一起填充基班?

[英]Populate base class along with child class?

我需要在其中將一些新字段及其所有現有字段/屬性添加到現有類中。

因此,每當我的派生類被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();
            }
        }

可以直接從派生類訪問基類中的所有內容,而無需進行任何操作,只需直接使用屬性/方法名稱即可。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM