c中與類名同名的函式有什麼特別的地方

時間 2021-05-14 10:01:56

1樓:陳韓泰

與類名相同的是類的建構函式。不同的就是類的成員函式。無引數的建構函式式系統預設提供的。

但是當你自己用了有引數的建構函式以後,系統就不提供無引數的建構函式了。但是我們常常會兩種都用,所以經常給建構函式的多個過載

2樓:匿名使用者

通常說,平時我們定義類的時候,不管我們有沒有定義建構函式,都會預設定義了一個和類名相同的無引數的建構函式(所以無參的建構函式寫和不寫都沒什麼區別的)。

但我們有時候要用有引數的建構函式以後,就不能使用系統預設的提供無引數的建構函式了,要定義自己的有參建構函式進行過載。也就是說有參的建構函式是當有外面值傳進來的類例項的時候使用。

3樓:匿名使用者

與類名同名的我們稱之為該類的建構函式,建構函式的存在主要是為了初始化類欄位,比如說私有欄位哈,有引數和沒引數這個要看你建構函式的實際作用來決定的。無引數的建構函式一般式採用系統的預設值進行初始化類欄位,有引數的建構函式意味著你可以在例項的時候傳指定的值給建構函式來初始化你的類欄位或者屬性等。 類中與類名不同的函式一般都是類的成員函式或者類級別的靜態函式,不考慮這些函式的訪問許可權情況下,類成員函式你可以認為就是一個該類的一個功能,他可以是用來給一個類欄位賦值的也可以實現類例項化的或者其他任何你想對該物件的操作。

有引數沒引數,有返回值沒返回值這完全看你要實現的功能~ 簡單的這麼理解就可以了

c# 類名,方法名上面加[]是什麼意思?

4樓:定復

你不如看看這個

attribute,翻譯為特性比較好,屬性的話和類成員的屬性就有衝突的意思了

[***]

class abc

上面的[***]可能是一個繼承了attribute類的特性類的一些說明,也可能是內建的

[***]

public efg()

你這個格式似乎有點不對,這個是建構函式?還是一個成員方法?

建構函式,和類名不同了

如果是方法,但是又沒有返回型別

這個如果是成員方法,上面的***應該就是修飾method(應該是usage使用了這個列舉)的

這個一下也不好說

5樓:

一般都是變數後面加表示陣列吧?類名方法名後面不能加

6樓:匿名使用者

attribute,屬性

常見的屬性有

[serializable]:支援序列化

[nonserialize]:不支援序列化[obsolete]:廢棄的類

[dllimport]:匯入dll

7樓:匿名使用者

attribute。搜尋一下吧。

c#程式理解,怎麼理解建構函式,建構函式名字為什麼和類名是一樣的呢??

8樓:匿名使用者

建構函式是物件導向的程式設計中出現的一種方法,它是每個類都會有的方法,作用是構造及初始化物件。為了程式編譯時能很好地辨識這個必須的「建構函式」。那這個建構函式的名字最好就有一定的規定。

現在規定了建構函式名字和類名一致,編譯時就知道哪些是建構函式, 例項化物件時就會呼叫合適的建構函式進行類的例項化。

建構函式 是一種特殊的方法 主要用來在建立物件時對物件進行初始化。即為物件成員變數賦初始值,總與new運算子一起使用在建立物件的語句中。特別地,一個類可以有多個建構函式 可根據其引數個數的不同或引數型別的不同來區分它們,就是建構函式的過載。

建構函式是類自己在物件剛剛建立時候自己呼叫的,一般不允許使用者自己顯示呼叫建構函式。使用者只要將建構函式寫好,類在例項化物件的時候自動呼叫合適的建構函式對物件進行初始化(若有多個建構函式,系統會根據建構函式的形參來進行選擇)。

你可能會看到有些類沒有建構函式,這時候編譯器會自動生成一個形參為空的函式體為空的建構函式給該類。總之,建構函式是必須的。

你說的不懂的地方,其實就是在例項化kkk這個物件的時候,即kkk剛建立的時候,系統對自動呼叫一次program類的建構函式。這就是建構函式唯一一次呼叫的地方。使用者是不能顯示呼叫建構函式的。

這和c語言是有區別的,建構函式用於物件的初始化,這樣可以使物件的封裝性更好。

9樓:大海泛舟

可以這樣理解,它就像是做程式一樣,後臺中可能有好多的事件,但必須要執行的是page_load事件,讓它顯示一些值,別的事件你可以呼叫也可以不用;再說的白一點,就是給這個類賦一個初始值,使程式知道有這麼個類,它必須執行的就是這個建構函式,然後你可以對這個類裡面其它資料進行修改

10樓:匿名使用者

建構函式只有在類被例項化時(new時)呼叫一次,也可以理解成對類的初始化動作!

11樓:非馬

在c#中例項化類的時候總會自動呼叫建構函式,就算你沒有定義建構函式,編譯器也會自動加上一個預設的建構函式。不存在為什麼。

12樓:匿名使用者

建構函式是類實列化的依據,

建構函式名字和類名一樣是一種約定,談不上為什麼

C 中類的成員函式定義成static與C中的static的函式有什麼不同

曾聽南 類的靜態成員函式不與任何物件相聯絡,它可以直接訪問類的靜態資料成員,而不能直接訪問類的普通資料成員 即非靜態資料成員 因為普通資料成員只有類的物件存在時才有意義。c中的靜態函式只在本檔案中有效。 血天藍海 如果是靜態函式 static 型別 函式名 形參 這樣的函式 它可以被 類名 函式名 ...

C,簡述介面與抽象類的異同,c 中抽象類和介面的相同點與區別

thomas狗蛋 介面是抽象的集合,意思就是介面中是不能存在實現的,介面主要是定義行為,就是 能幹什麼 如果一個類實現了一個介面,那麼就要實現它的方法,也就是要實現它定義的那些功能。那麼抽象類中是可以存在實現 也就是可以存在非抽象方法的 的,抽象類中的實現在非抽象的子類中是可以直接呼叫的,然後抽象類...