虚方法:
Virtual关键字
在继承含有虚方法类的时候,子类用override重写
class Operate
{
private double _num1;
private double _num2;
public double Num1
{
get { return _num1; }
set { _num1 = value; }
}
public double Num2
{
get { return _num2; }
set { _num2 = value; }
}
虚方法声明
public virtual double GetResult()
{
double result=0;
return result;
}
}
虚方法的使用:
class OperateAdd : Operate
{
public override double GetResult()
{
double result = Num1 + Num2;
return result;
}
}
class OperateSub : Operate
{
public override double GetResult()
{
double result = Num1 - Num2;
return result;
}
}
class OperateMul : Operate
{
public override double GetResult()
{
double result = Num1 * Num2;
return result;
}
}
class OperateDiv : Operate
{
public override double GetResult()
{
double result = 0;
if (Num2 == 0)
throw new Exception("除数不能为0!");
result=Num1/Num2;
return result;
}
}