C#深入類的方法 方法過載及物件互動
阿新 • • 發佈:2021-01-31
深入類的方法
hello大家早上好,寒假的第一個知識點,大家可以看看這篇關於**建構函式、方法過載、物件互動**的部落格哦歡迎大家評論~
一、建構函式
類的建構函式是類中一種特殊方法
特點:
1、方法名與類名相同
2、沒有返回值型別
3、主要完成物件的初始化工作
二、無參建構函式
在預設(當用戶未定義無參建構函式時)的情況下,系統將會給類分配一個無參建構函式,且沒有方法體。(只要使用者寫了無參建構函式,系統就不會分配)
1、語法:
訪問修飾符 類名()
{
//方法體
}
2、缺點:在無參建構函式中給屬性賦予預設值後,物件例項化後的屬性值是固定的。
三、帶參建構函式
帶參函式的靈活性更好,通過引數來動態控制物件的特徵。
1、語法:
訪問修飾符 類名(引數列表)
{
//方法體
}
2、須知:呼叫帶參的建構函式:**引數列表的個數/型別/順序要一致。**且建構函式在每次例項化類時通過new關鍵字呼叫,指定呼叫某個帶引數的建構函式。
四、隱式建構函式
當不給類編寫建構函式時,系統將自動給類分配一個無參建構函式,稱為隱式建構函式。一旦有了建構函式,就不再自動分配建構函式。
五、方法過載
建構函式的過載(多個建構函式提供了多種例項化一個類的方式。)在面向物件的語言中,允許在同一個類中定義多個方法名相同、引數列表(引數個數、引數型別)不同的方法,稱為方法過載。呼叫時會根據實際傳入引數的形式,選擇與其匹配的方法執行。
方法名相同
方法引數型別不同或者引數個數不同
在同一個類中
2、注意:方法名及引數列表相同的方法,僅是返回值型別不同,不能稱為方法過載。
3、在同一個類中,建構函式和普通方法都可以過載
4、方法過載不僅能避免命名的麻煩,還能使呼叫者不必判斷方法名就可以直接呼叫。
六、物件互動
1、封裝:隱藏實現細節,公開某種功能作為與外界通訊的通道
2、訊息傳遞:每個物件都具有特定功能,相對其他物件而言,它的功能就是為其他物件提供服務。
3、基本概念:物件之間通過屬性和方法進行互動,可以認為方法的引數及方法發返回值都是物件間相互傳遞的訊息。
今天的分享到這啦!歡迎大家評論區留言~~~