using System;
namespace xyzApp
{
class Program
{
public static void Main(string[] args)
{
Test1Class t = new Test1Class();
t.Add(4);
t.Add(11.1);
t.showValue();
Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);
}
}
class TestClass{
protected int sum =0;
public void Add(int x)
{
sum+=x;
}
public void showValue()
{
Console.WriteLine(" the sum is : {0}",sum);
}
}
class Test1Class :TestClass
{
double sum ;
public void Add(double x)
{
sum+=x;
Console.WriteLine(" the sum is : {0}",sum);
}
}
}
出力は
the sum is : 4
the sum is : 15.1
the sum is : 0
Press any key to continue . . .
最終的な出力が0である、そしてどのように私のように最終的な出力を得ることができ、なぜ誰かが、説明することができているし、次のしています派生クラスでprintValueメソッドを作成せずに15.1。
私はまた、それが言語ごとにどのように異なるかを知りたいと思います。 Test1Class
影で おかげ
Testclassのsum変数もDoubleでなければなりません。そうでなければ、Test1classメソッドで "doubleをintに変換できません"というエラーが発生します。 – Nanda
@nanda - true、私は異なるデータ型に気づいていませんでした。編集... – froadie
派生クラスの基底クラスメンバのデータ型はどのような方法で購入できますか? – Sharique