建構函式與其他類方法的區別

2021-06-29 14:01:32 字數 537 閱讀 2382

區別:

1、建構函式的函式名稱與類名同名,其他方法(函式)名稱可以自定義。

2、建構函式僅在物件被建立時系統會根據給定的引數以及類中的建構函式定義進行選擇呼叫,如果類中沒有定義建構函式,系統缺省會提供乙個無參構造空函式,什麼都不會做,只是滿足介面要求,建構函式不能被顯式呼叫。其他函式根據程式設計師需要而呼叫,且必須顯式呼叫。

3、由於物件建立後,系統必須返回新建物件的位址,賦值給指標變數(c++,c#中是將引用賦值給物件變數,其實一樣,內部也是物件位址),那麼換句話說,返回介面被系統占用了,因此建構函式就不能返回任何型別值,所有帶返回值建構函式的定義編譯器都不會通過。結果就是建構函式沒有也不能有返回型別,而其他函式隨意。

4、由於建構函式的作用只是在建立物件時用來初始化成員變數和物件的,因此建構函式不能被繼承也不能使用介面。換句話說,因為建構函式只在物件建立時會被呼叫,其他情況下永遠不會被呼叫,因此如果對乙個類定義乙個介面,介面中提供了建構函式的介面的話,該函式介面是永遠無法被顯式呼叫的,顯得多餘了,因此如果為建構函式定義介面,編譯器會報錯。(new乙個物件的時候new的是類,不會new介面)

Python與其他語言的區別

python中沒有自增自減運算。python 不使用 的哲學邏輯 編譯解析上的簡潔與語言本身的簡潔。舉個例子來說python 與 c 語言概念上的一些差異 python 中,變數是以內容為基準而不是像 c 中以變數名為基準,所以只要你的數字內容是5,不管你起什麼名字,這個變數的 id 是相同的,同時...

RESTful架構與其他架構的區別

soap webservice webservice是一種跨程式語言和跨作業系統平台的遠端呼叫技術。通過http協議傳送請求和接收結果時採用的xml格式封裝,並增加了一些特定的http訊息頭,這些特定的http訊息頭和xml內容格式就是soap協議。對比效率和易用性 soap由於各種需求不斷擴充其本...

Linux與其他作業系統的區別

linux可以與ms dos os 2 windows等其他作業系統共存於同一臺機器上。它們均為作業系統,具有一些共性,但是互相之間各有特色,有所區別。目前執行在pc機上的作業系統主要有microsoft的ms dos windows windows nt ibm的os 2等。早期的pc機使用者普遍...