某些程式設計
語言的類提供了
複製建構函式,即從當前
類例項構造乙個新的
類例項。在c#編
程語言中,沒有提供
複製建構函式,如果要
實現複製構造的功能,就必須自行
編寫這樣的建構函式。
本示例主要說明了如何實現複製建構函式,技術要點如下。
— 複製建構函式仍然屬於建構函式,不同的是以類本身作為引數的資料型別。
— 呼叫建構函式時,引數必須是已經建立的類例項。
using
system;
using
system.text ;
using
system.collections;
namespace
fuhegouzaohanshu
}
class person//
表示「人」的類
//複製建構函式,以
類例項作
為引數的建構函式,將引數
例項的字段
賦給當前
例項字段
public
person(person aperson)
public
string details
}
} }
本示例的person類中定義了兩個建構函式。乙個是預設的、不帶引數的建構函式,另乙個是以person類例項作為引數的複製建構函式。在主程式入口main方法中,首先使用預設的建構函式建立person類的例項persona,然後給persona中的字段賦值,再將persona類例項作為person類複製建構函式的引數,建立person類的另乙個例項personb,最後將personb的資料列印出來
使用建構函式的時候,將在託管記憶體中為新的類例項分配位置,而不是指向原先的類例項的託管記憶體位置。在本示例程式中,personb類例項和persona類例項不存在引用關係,其中乙個例項欄位的修改不會對另乙個例項產生影響
c 建構函式,函式過載,復合類,類和物件
1.面向過程和物件導向主要區別可以簡單概括為 面向過程的程式設計是一種直接的程式設計方法是按照編 程語言的思路考慮問題 物件導向的程式設計是一種抽象度更高的程式設計方法,它的目標是使 模組的抽象度更高,可復用性更好。2.物件導向的三大特徵 封裝性 繼承性和多型性。3.封裝 隱藏物件的屬性和實現細節,...
c 類和物件,建構函式,函式過載,復合類。
c 類和物件,建構函式,函式過載,復合類。1.面向過程和物件導向主要區別可以簡單概括為 面向過程的程式設計是一種直接的程式設計方法是按照編 程語言的思路考慮問題 物件導向的程式設計是一種抽象度更高的程式設計方法,它的目標是使 模組的抽象度更高,可復用性更好。2.物件導向的三大特徵 封裝性 繼承性和多...
建構函式 函式過載 復合類 析構函式
建構函式特點 注意 如果不標明public裡面的,程式預設為私有成員變數 預設建構函式分兩種 1.建構函式不帶引數 2.建構函式帶引數但引數都有預設值 eg circle 預設建構函式 circle float a 0,float b 0,float c 0 預設建構函式帶引數有預設值 circle...