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