我在C#中的测试代码:
namespace DSnA
{
public abstract class Test : IComparable
{
}
}
Run Code Online (Sandbox Code Playgroud)
导致以下编译器错误:
error CS0535: 'DSnA.Test' does not implement interface member
'System.IComparable.CompareTo(object)'
Run Code Online (Sandbox Code Playgroud)
由于该类Test是一个抽象类,为什么编译器要求它实现接口?这个要求不应该仅仅是具体课程的必修课吗?
可能的重复:
接口与基类
在设计C#类库时,何时应该在接口上选择继承?
所以我正在用C#编写我的第一个真正的程序.该计划将从四个不同的网站获取数据.我的计划是让一个父类看起来像这样:
class Scraper
{
string scrapeDate(url);
string scrapeTime(url);
//&c.
}
Run Code Online (Sandbox Code Playgroud)
然后我会有四个继承它的类.
另一种选择是创建Scraper一个接口,并有四个实现它的类.
这些方法有什么区别?