我是OOP和C#的新手。不知道爲什麼價值沒有改變
我試圖使用繼承和封裝的概念,並卡住了。
無法理解爲什麼當我通過Atm_1類調用它時,存款方法不起作用。
父類
class Atm
{
public int TotalBalance { get; private set; } = 1000;
public Atm() { }
public void DepoSit(int deposit) { TotalBalance += deposit; }
}
子類
class Atm_1:Atm
{
}
主要
class Program
{
static void Main()
{
var atm = new Atm();
var atm_1 = new Atm_1();
//Before Deposit
Console.WriteLine("Total Balance is "+atm.TotalBalance); //1000
//Deposit
atm_1.DepoSit(20);
//After Deposit
Console.WriteLine("Total Balance is " + atm.TotalBalance); //Still 1000 ??
atm.DepoSit(500);
Console.WriteLine("Total Balance is " + atm.TotalBalance); //Now 1500
//This Works -why the above didn't work?
}
}
爲什麼代碼做它做什麼這是從代碼清晰。但不明白爲什麼你會認爲會發生任何不同的事情。爲什麼你創建兩個不同的對象?你爲什麼認爲一個對象('atm_1')的改變會影響另一個對象('atm')?繼承關於_type_,而不是實例,並且修改繼承了不同實例類型的類型的一個實例不會對該不同實例產生任何影響。 –
我想創建atm_2,3,4等。我不想在TotalBalance –
中存儲所有atm的組合值。我建議查看OOP的基本概念。特別是你似乎需要理解一個類的實例是什麼。 – Steve