C# —— 構造函數

admin2024-06-21  13

什么是構造函數

?構造函數: 一般在函數為類(lèi)的屬性初始值的作用,構造函數的名稱(chēng)類(lèi)名

?在類(lèi)里面定義構造函數 方法名和類(lèi)名同名 不能帶返回值類(lèi)型 void/非void 不能有

// 創(chuàng )建一個(gè)構造函數

class People
{
    public string Name { get; set; }
    public int Age { get; set; }
    private bool isChengNian;

    // 在類(lèi)里面定義構造函數 方法名和類(lèi)名同名 不能帶返回值類(lèi)型 void/非void 不能有
    // 構造函數
    public People()
    {
        Console.WriteLine(this.Name+Age+isChengNian);
    }

}
class HaiZei
{
    public string Name;
    public string Skill;
    public int Age;

    // 構造函數帶參數
    public HaiZei(string name,string skill, int age)
    {
        // 把參數賦值給屬性
        Name = name;
        Skill = skill;
        Age = age;
        Console.WriteLine(Name + Skill + Age );
    }
}


class Aircraft
{
    public string Sign { get; set; }
    public string Model { get; set; }
    public string Colour { get; set; }
    public string Subjection { get; set; }
    public double Speed { get; set; }
    public int AllCount { get; set; }
    public string Type { get; set; }
    public int Count { get; set; }
    public Aircraft(string name,string model,string colour,string subjection,double sp,int all)
    {
        Sign = name;
        Model = model;
        Colour = colour;
        Subjection = subjection;
        Speed = sp;
        AllCount = all;
        if (all  >= 400)
        {
            Type = "大";
        }
        else if (all >= 200 )
        {
            Type = "中";
        }
        else
        {
            Type = "小";
        }
        Random r = new Random();
        Count = r.Next(AllCount + 1);
    }

?創(chuàng )建People 對象 ?構造函數已經(jīng)調用,雖然在此處給這個(gè)屬性賦值了,但是這個(gè)構造函數里面 并沒(méi)有把這個(gè)初始值賦值給屬性,在構造函數里面舒勇屬性的時(shí)候 值為默認值

 ArrayList a1 = new ArrayList();
 ArrayList a2 = new ArrayList(100);
 People p1 = new People() { Name = "張三",Age=10};
 Console.WriteLine(p1.Name);

?2為了解決在構造函數里面能夠使用已經(jīng)賦值過(guò)得屬性,需要添加帶參數的構造函數,通過(guò)參數傳遞給屬性,
創(chuàng )建海賊對象 調用構造函數的時(shí)候把參數賦值給屬性

    HaiZei lufei = new HaiZei("王路飛", "五檔", 20) { Name="索隆",Skill="阿修羅",Age=20};

    HaiZei jide = new HaiZei("基德", "磨磁人", 20);

    Aircraft f1 = new Aircraft("波音", "747", "黃色", "南方航空", 100, 400);
    Console.WriteLine(f1.Type + f1.Count);

    Console.ReadLine();
}
本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀(guān)點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲空間服務(wù),不擁有所有權,不承擔相關(guān)法律責任。如若轉載,請注明原文出處。如若內容造成侵權/違法違規/事實(shí)不符,請聯(lián)系SD編程學(xué)習網(wǎng):675289112@qq.com進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!
一级毛片在线一区二区-亚洲精品无码专区土豆网在线播放-亚洲无乱码一区二区三区-亚洲一区二区三区精品