我是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