两个类之间的方法用法

时间:2018-04-29 17:56:36

标签: c# console-application

这是我的代码。我想用a.Speed方法提高速度值。这种方法属于第一类。第二类继承自第一类。

增加方法是在第二类,但我在头等舱使用它。这就是我想要做的。我不想在main中编写这么多代码。

但是,当我运行程序时,b.Speed interface IElektroBeyin { int Speed{ get; set; } // Hız kontrolü } class AA : IElektroBeyin { public int Speed { get; set; } public virtual void GetFaster() { } public virtual void GetSlower() { } public void Quest() { int x; Console.WriteLine("Want to get faster ? 1- Yes"); x = Console.Read(); if (x == 1) { GetFaster(); } } } class BB : AA { public override void GetFaster() { Speed += 10; } public override void GetSlower() { Speed -= 10; } } static void Main(string[] args) { BB b = new BB(); AA a = new AA(); a.Quest(); Console.WriteLine(b.Speed); Console.WriteLine(a.Speed); Console.ReadLine(); } } } 都等于零。我希望他们中的一个是10.如何解决这个问题?

{{1}}

1 个答案:

答案 0 :(得分:0)

AA a = new AA();
a.Quest();

AA.Quest()调用AA.GetFaster(),但此方法为空。这就是调用它时没有任何反应的原因。 BB.GetFaster()未被调用,因为它位于AA派生类中。你可能希望它反过来。

此外,要获取用户输入的数字,您不能使用Console.Read()的返回值。使用int.Parse(Console.ReadLine())或类似的东西。