<分区>
编辑:对不起,如果这看起来有点明显/简单,我试着找到答案,但我不确定如何正确措辞
我一直在学习一些 C#,但在理解实例化的新对象时遇到了一些麻烦,其中构造函数和类类型不同。因此,常规对象将通过以下方式实例化:
Object obj = new Object();
这很明显,但是由于我一直在研究接口(interface),所以我遇到了如下语法:
interface ISaveable {
string Save();
}
public class Catalog : ISaveable {
string Save() {
return "Catalog Save";
}
string ISaveable.Save(){
return "ISaveable Save";
}
}
然后本教程继续按照以下方式做一些事情:
Catalog c1 = new Catalog();
所以我知道这里正在实例化目录类的一个新实例,但是我终究无法弄清楚下一行:
ISaveable c2 = new Catalog();
现在实际的代码本身没有问题(接口(interface)的显式和隐式实现等我都懂),只不过是上面对象c2实际实例化的部分而已。为什么类类型 (ISaveable) 与构造函数 ( new Catalog() ) 不同?
任何解释将不胜感激!