iT邦幫忙

2026 iThome 鐵人賽

DAY 18
0

什麼是 constructor

每創建一個物件,都會被呼叫一次的方法


方法一 (幫 person class 新增constructor建構方法)

Person模板:

using System;
namespace ConsoleApp1
{
class Person
{
public double height;
public int age;
public string name;
     public Person( )     /因為無法回傳資料,所以中間不用寫void
     {
         Console.WriteLine(”創建成功”);
     }
}
}

原本的資料型態:

using ConsoleApp1
Person person1 = new Person( );
person1.height = 170.5;
person1.age = 42;
person1.name = 小黑;
Person person2 = new Person( );
person2.height = 165;
person2.age = 15;
person2.name = 小白;

在原本資料型態中,創建person1 與 person2 兩個物件,每傳一個物件,Person資料型態 會執行一次建構方法( 寫出「創建成功」 ),所以最終傳了兩次創建成功,顯示
創建成功
創建成功


方法二 (建構方法裡添加資料)

Person模板:

using System;
namespace ConsoleApp1
{
class Person
{
public double height;
public int age;
public string name;
     public Person( string qq )     
     /建構方法的小括弧同樣可以設定呼叫方法時需要放什麼東西進來
     {
         Console.WriteLine(”創建成功” + qq);
     }
}
}

原本的資料型態:

using ConsoleApp1
Person person1 = new Person( “舒服” );
person1.height = 170.5;
person1.age = 42;
person1.name = 小黑;
Person person2 = new Person( “爽拉” );
person2.height = 165;
person2.age = 15;
person2.name = 小白;

在建構方法上設定每個物件要寫上string字串。
在每傳一個物件就會顯示 「創建成功 物件括弧中的字串名稱」,結果顯示
創建成功舒服
創建成功爽拉


方法三 (建構方法裡添加多項資料)

Person模板:

using System;
namespace ConsoleApp1
{
class Person
{
public double height;
public int age;
public string name;
     public Person( double h, int a, string n )
     {
         height = h;
         age = a;
         name = n;
     }
}
}

原本的資料型態:

using System;
using ConsoleApp1
Person person1 = new Person( 170.5, 42, “小黑” );
Person person2 = new Person( 165, 15, “小白” );
Console.WriteLine( person1.name );
Console.WriteLine( person2.name );

在建構方法上設定每個物件要寫上浮點數、整數、字串,並在下方設定變數名稱分別是身高、年紀、名字
在原本資料型態的物件中寫下身高、年紀、名字,並在下方指定顯示兩個物件的名稱,顯示
小黑
小白

public double height;
public int age;
public string name;
public Person( double height, int age, string name )
{
this.height = height;
this.age = age;
this.name = name;
}

如果下方大括弧設定方式兩個都是一樣名字,程式碼會直接認定左右兩邊都是Person括弧裡的參數名稱,而忽略上方設定的屬性名稱。
如果想要讓參數名稱與屬性名稱相同,需要在左邊加上 this. 來區分


心得:

今日學習如何使用constructor 建構方法,內容比較多一點,但在影片中描述為創建一個物件就會呼叫一次,就比較能懂他其中的意思。明天會學習到什麼是getter和setter,那我們明天見拉~


參考影片

【C#】3小時初學者教學 |Csharp | C# 教學 | C# 入門 | C++++
YouTube頻道:GrandmaCan -我阿嬤都會
影片段落: 2:46:08 ~ 2:53:59 (時間段已設定好)
Yes


上一篇
【Day17】Main 方法
系列文
從 Hello World 學習 C#,到看懂AI生成的遊戲程式碼 共 18 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言