国产探花免费观看_亚洲丰满少妇自慰呻吟_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());
    }
}

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 郴州市| 偏关县| 莲花县| 克山县| 韶山市| 剑川县| 高密市| 正阳县| 沐川县| 衡东县| 临泉县| 拉孜县| 五华县| 扶绥县| 磐石市| 固安县| 松阳县| 盘锦市| 怀宁县| 滕州市| 休宁县| 同德县| 栖霞市| 汤阴县| 基隆市| 济阳县| 南开区| 北流市| 东乌珠穆沁旗| 拉孜县| 芜湖县| 美姑县| 房产| 涞水县| 中阳县| 镶黄旗| 武宣县| 新竹市| 平南县| 康马县| 林周县|