Ben Türetilmiş sınıfının bir örneğini oluşturursanız koduAşırı çözünürlük
public class Base
{
public virtual int Add(int a,int b)
{
return a+b;
}
}
public class Derived:Base
{
public override int Add(int a,int b)
{
return a+b;
}
public int Add(float a,float b)
{
return (Int32)(a + b);
}
}
düşünün ve onu şamandıra parametreleriyle Add yöntemini çağırarak neden int türünde parametreleri ile ekle çağrı
Derived obj =new Derived()
obj.Add(3,5)
// why this is calling
Add(float a,float b)
Neden daha spesifik bir yöntemi çağırmıyor?
3 ve 5'in int olduğunu nasıl biliyorsunuz? Türlerini belirtmeyi deneyin ve ne olduğunu görün. –
Bunun nasıl olduğunu biliyor musunuz? –
Bunu derleyebiliyor musunuz? Int için float gibi bazı döküm hataları alabilirsiniz? – Anuraj