我重构我的代码,所以我需要做出关于接口或抽象类的决定。 我有基类播放器和继承基类的称为VideoPlayer,MusicPlayer等的类。基类有没有实现的抽象方法(Play)。 那么,什么是更好的方法?将Play放在界面中或放在抽象类中。在MusicPlayer中播放与在VideoPlayer中播放器不一样。我在C#中这样做。抽象方法vs接口
class Player
{
abstract void Play();
}
class VideoPlayer : Player
{
void Play()
{
//Some code.
}
}
class MusicPlayer : Player
{
void Play()
{
//Some code.
}
}
两者都好。作为替代方案,您可以提供一个接口以及一个实现它的骨架抽象类。尽管如此,你似乎不需要这样的实现。 – toniedzwiedz
一个抽象类只有**才有用,如果它真的做了什么。有一个什么都不做的抽象类对我来说没有什么意义。 –
另请参见[接口vs基类](http://stackoverflow.com/q/56867/1037210),[抽象类与接口](http://www.codeproject.com/Articles/11155/Abstract-Class-与接口) – Lion