本文主要介紹了C# 靈活使用類別的方法,具有很好的參考價值,下面跟著小編一起來看下吧
建構子
概括:建構子是類別中的一種特殊的方法,主要完成物件的初始化工作,在建立物件的時候完成指定的工作。而且建構函數方法名稱和類別名稱相同,沒有傳回值型別。
無參考建構函數
在預設的情況下,系統會為類別指派一個無參構函數,並且沒有方法體。但我們也可以自訂一個無參構造函數,在創建物件的時候自動給屬性一個預設值。
class Demo { public string DemoName { get; set; } public Demo() //创建无参构造函数 { this.DemoName = "无参构造函数"; //方法体内写在创建对象时需要初始化的属性 } }
小技巧:在Visual Studio中建立無參構造函數的捷徑是‘ctor' + 兩個tab鍵;建立屬性的捷徑是‘prop' + 兩個tab鍵。
帶參構造函數
有時我們需要在建立物件的時候給物件的屬性指定一些值,而這些值是一定的,所以我們需要帶參構造函數。
class Demo { public string DemoName { get; set; } public Demo(string DemoName) //创建带参构造函数 { this.DemoName = DemoName; } } class Test { Demo demo = new Demo("带参构造函数"); //创建对象时在小括号内指定值 }
另外要注意幾個事項:
# 1.建立物件時小括號內給定的參數必須與帶參構造函數的參數列表相同。
2.類別中有了帶參建構子後,建立物件便必須在小括號內給予對應的值。因為在C#中一旦類別有了建構函數,就不再自動分配建構函數。 (推薦創建了帶參構造函數後再創建一個無參構造函數。)
追加:
還有另一種快捷的初始化屬性的方法,即物件初始化器。
用法:Demo demo = new Demo(){ Name = "物件初始化器"};
或:Demo demo = new Demo{ Name = "物件初始化器"};
概括:同一件事情,根據不同的參數來執行不同的操作,即方法重載。
特點:每個方法名稱相同、參數清單不同、在同一個類別中。
註:參數清單不同指每個方法的參數類型不同或參數順序不同或參數個數不同。
僅傳回值不同是不構成方法重載的。
範例:
class Demo { public string DemoName { get; set; } /*********构造函数重载********/ public Demo() { this.DemoName = "无参构造函数"; } public Demo(string demoName) { this.DemoName = demoName; } /**********方法重载**********/ public void SayHello(string name) { Console.WriteLine("你好,我是{0},很高兴认识你。", name); } public void SayHello(string name, int age) { Console.WriteLine("你好,我是{0},今年{1}岁,很高兴认识你。", name, age); } } class Test { /*********构造函数重载********/ Demo demo = new Demo(); Demo demo1 = new Demo("带参构造函数"); /**********方法重载**********/ public void Test() { demo.SayHello("小明"); demo.SayHello("小明", 18); } }
以上是C#靈活使用類別的方法分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!