編程技巧OOPs:復制構造函數_.Net教程
推薦:編程技巧:.Net Framework.Net Framework 1. 如何獲得系統文件夾 使用System.Envioment類的GetFolderPath方法;例如: Environment.GetFolderPath( Environment.SpecialFolder.Personal ) 2. 如何獲得正在
OOPs
1. 什么是復制構造函數
我們知道構造函數是用來初始化我們要創建實例的特殊的方法。通常我們要將一個實例賦值給另外一個變量c#只是將引用賦值給了新的變量實質上是對同一個變量的引用,那么我們怎樣才可以賦值的同時創建一個全新的變量而不只是對實例引用的賦值呢?我們可以使用復制構造函數。
我們可以為類創造一個只用一個類型為該類型的參數的構造函數,如:
public Student(Student student)
{
this.name = student.name;
}
使用上面的構造函數我們就可以復制一份新的實例值,而非賦值同一引用的實例了。
class Student
{
private string name;
public Student(string name)
{
this.name = name;
}
public Student(Student student)
{
this.name = student.name;
}
public string Name
{
get
{
return name;
}
set
{
name = value;
}
}
}
class Final
{
static void Main()
{
Student student = new Student ("A");
Student NewStudent = new Student (student);
student.Name = "B";
System.Console.WriteLine("The new student's name is {0}", NewStudent.Name);
}
}
The new student's name is A.
2.什么是只讀常量
就是靜態的只讀變量,它通常在靜態構造函數中賦值。
class Numbers
{
public readonly int m;
public static readonly int n;
public Numbers (int x)
{
m=x;
}
static Numbers ()
{
n=100;
}
} //其中n就是一個只讀的常量,對于該類的所有實例他只有一種值,而m則根據實例不同而不同。
分享:存儲過程編寫經驗和優化措施介紹:在數據庫的開發過程中,經常會遇到復雜的業務邏輯和對數據庫的操作,這個時候就會用SP來封裝數據庫操作。如果項目的SP較多,書寫又沒有一定的規范,將會影響以后的系統維護困難和大SP邏輯
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發送Email實例(可帶附件)
- js實現廣告漂浮效果的小例子
- asp.net Repeater 數據綁定的具體實現
- Asp.Net 無刷新文件上傳并顯示進度條的實現方法及思路
- Asp.net獲取客戶端IP常見代碼存在的偽造IP問題探討
- VS2010 水晶報表的使用方法
- ASP.NET中操作SQL數據庫(連接字符串的配置及獲取)
- asp.net頁面傳值測試實例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲過程實現分頁示例代碼
- 相關鏈接:
- 教程說明:
.Net教程-編程技巧OOPs:復制構造函數
。