程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C# 靈活使用類的方法

C# 靈活使用類的方法

編輯:C#入門知識

C# 靈活使用類的方法。本站提示廣大學習愛好者:(C# 靈活使用類的方法)文章只能為提供參考,不一定能成為您想要的結果。以下是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);
 }
 }

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持!

[db:作者簡介][db:原文翻譯及解析]
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved