我重構我的代碼,所以我需要做出關於接口或抽象類的決定。 我有基類播放器和繼承基類的稱爲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