根據例子來學習吧
using system.collections.generic;
using system.linq;
using system.text;
namespace _02類的練習
//這裡是讀取內容
set //這裡是寫入內容
}private char _gender;
public char gender
set
}private int _age;
public int age
set
}public void say()
,今天歲了,是生",this.name, this.age ,this.gender );}}
}
上邊是建立的乙個類,接下來就要在解決方案中呼叫這個類,以實現功能的執行。
namespace _02類的練習
}}
在這裡利用建構函式來對**進行簡化處理。首先要在類裡設定建構函式如下。
namespace _03類的建構函式
接下來只需利用建構函式中的字段直接賦值即可。如下
namespace _03類的建構函式
}}
在乙個類中可以寫很多的建構函式,函式名稱相同,則成為建構函式的過載。建構函式的過載和方法差不多,方法的名字相同,功能也差不多,只不過是其中傳參時的個數和型別不同而已。
還有下邊的乙個例子
public person()//現在寫的無參的建構函式
需要注意的一點是,如果類裡面沒有定義建構函式,編譯器也會自動生產乙個空建構函式,類的各個成員都賦上預設值。但是如果在類裡面只定義了乙個私有的建構函式的時候,那麼這個類將不能被例項化。
判斷是否有建構函式
class program
}
通過上述例子,對類的構造方法有如下總結:
1.構造方法用來建立物件,並且可以在建構函式中對物件進行初始化。
2.建構函式是用來建立物件的特殊方法,方法名和類名一樣,一般方法則不能與類名相同。
3.建構函式沒有返回值,連void都不用,這個保證它不僅什麼也不用自動返回,而且根本不能有任何選擇,而其他方法都有返回值,即使是void返回值,儘管方法本身不會自動返回什麼,但仍然可以讓它返回一些東西,而這些東西可能是不安全的。
3.建構函式不能被直接呼叫,必須通過new運算子在建立物件式才會自動呼叫,一般方法在程式執行到它的時候被呼叫。建構函式可以有引數,new物件的時候傳遞函式引數即可
4.如果不指定建構函式,則類有乙個預設的無參建構函式;如果指定了建構函式,則不再有預設的無參建構函式,如果需要無參建構函式,則需要自己來寫。
5.建構函式可以過載,也就是有多個引數不同的建構函式。
6.認識類圖,只需在解決方案右鍵生成類圖就可以看到類圖中的名稱屬性方法等。
7 學習C 之類的建構函式
1.常見的建構函式 c 的類在建立物件的時候,都會去呼叫建構函式,這種行為是強制的。如果在類中沒去寫建構函式,程式會自動為你的類建立出建構函式,然後去呼叫他 這個建構函式的函式體是空的,也沒有形參,也不執行任何操作。如果你已經寫了建構函式,那麼程式在執行的時候會去呼叫你寫的建構函式。建構函式是可以被...
C 學習之類
c 提供了一種類class機制來定義新的資料型別,類不僅可以定義了資料的復合,還可以定義該復合資料的操作。一 類的定義 類機制定義的類class,是一種型別,其定義與struct定義類似,只是在定義體中新增了操作的方法,如此是一段定義類以及對該類進行操作的 include include using...
c 學習 構造方法
沒有返回值,連void也不能寫。構造方法名必須是雷鳴 構造方法不能顯示呼叫,在例項化物件時被自動呼叫 用來例項化乙個物件 如果乙個類中沒有寫構造方法,那麼系統會給乙個預設的無參public許可權的構造方法 如果類中已經寫了構造方法了,那麼這個預設的構造方法不再被提供。using system usi...