国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#中重載類的構造方法

2023-05-02 19:48:26
字體:
來源:轉載
供稿:網友

構造方法是在創建類的實例時負責初始化工作的操作方法。在C#中,類的構造方法一般被定義為公有的(public),構造方法沒有返回類型,也不能為空型(void),同時,構造方法的名稱與類的名稱相同;類的構造方法可以包含任何數量的參數,從而使創建類變得更為靈活。

在面向對象程序設計中,將具有相同名稱,但參數的數據類型、參數個數不同的方法稱為方法的重載。構造方法通過改變參數的數據類型、參數的個數同樣可以實現重載。

下面舉一個例子來說明這個問題:

這個例子演示了一個教師類(Teacher),該類具有兩個字段成員_name(教師姓名)和_age(教師年齡),類的三個構造方法分別分別在給出不同參數時給這兩個成員字段賦值的方法。

本類同時重寫了ToString方法,使其能夠輸出教師的相關信息。在測試類TestClass中演示了該類的使用形式。

下面是具體的源代碼:

using System;

class Teacher
{
    string _name;
    int _age;
    public Teacher()    //無參的構造方法
    {
        _name = "無名氏"; _age = -1;
    }
    public Teacher(string sName)    //一個參數的構造方法:給出教師姓名
    {
        _name = sName; _age = -1;
    }
    public Teacher(string sName, int iAge)  //兩個參數的構造方法:給出教師姓名和教師年齡
    {
        _name = sName; _age = iAge;
    }
    public override string ToString()
    {
        return "姓名:" + _name + ",年齡:" + (_age == -1 ? "不詳" : _age.ToString());
    }
}

class TestClass //測試類
{
    static void Main()  //主方法
    {
        Teacher t1 = new Teacher(); //使用無參的構造方法構造實例
        Console.WriteLine(t1.ToString());
        Teacher t2 = new Teacher("劉濤");   //使用一個參數的構造方法構造實例
        Console.WriteLine(t2.ToString());
        Teacher t3 = new Teacher("王濤", 23);   //使用兩個參數的構造方法構造實例
        Console.WriteLine(t3.ToString());
    }
}

程序運行結果如下圖所示:

重載類的構造方法
重載類的構造方法運行結果圖

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大港区| 扬中市| 棋牌| 精河县| 射阳县| 东海县| 宁化县| 绥芬河市| 濮阳市| 霍邱县| 积石山| 江源县| 义乌市| 四平市| 鸡西市| 湟源县| 澄迈县| 招远市| 浦江县| 南城县| 巴楚县| 禹城市| 彭水| 阜新市| 儋州市| 肃宁县| 繁峙县| 义乌市| 永济市| 绥中县| 灵璧县| 固始县| 泗洪县| 尉犁县| 古丈县| 辰溪县| 南投市| 秀山| 漾濞| 澄迈县| 兰西县|