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