中易网

【高手請進】有關C#接口的疑問

答案:3  悬赏:80  
解决时间 2021-04-28 05:22
  • 提问者网友:房东的猫
  • 2021-04-27 13:57

interface ICalculator
{
double Value1 { get;set;}

double Value2 { get;set;}
}

public class Plus : ICalculator
{
public override double Calculate()
{
return Value1 + Value2;
}
}

諸如以上的接口引用,以及繼承的類,我有一個不明白的地方,請高手指教:

ICalculator plus = new Plus();

Plus temp = new Plus();

這兩者有何區別?在使用上有何區別?

最佳答案
  • 二级知识专家网友:嗷呜我不好爱
  • 2021-04-27 14:53
这二者是由区别的, 第一个是 申明一个 接口 用子类的构造函数实例化,第二个是子类的一个对象调用自身的构造函数实例化。当ICalculator 和Plus 类中的成员相同时,二者在使用效果上没有区别,当plus类中添加了部分成员,其就由差别了。 第一个会浪费点内存。
全部回答
  • 1楼网友:萌萌哒小可爱
  • 2021-04-27 17:04

接口对象必须被实现接口的类实例化,接口对象才可以调用实现接口类中的方法

Plus temp = new Plus();是类的对象,可以直接调用类中实现的接口方法

  • 2楼网友:一池湖水
  • 2021-04-27 15:44

一个指向的是父类,一个指向的是本身

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息