use*_*092 1 c# java oop abstract-class interface
我正在重构我的代码,所以我需要做出关于接口或抽象类的决定.我有基类Player和继承基类的类,它们被称为VideoPlayer,MusicPlayer等.基类有抽象方法,没有实现(Play).那么,什么是更好的方式?将Play置于界面中或将其保留为抽象类.在MusicPlayer中播放与VideoPlayer中的播放器不同.我在C#中这样做.
class Player
{
abstract void Play();
}
class VideoPlayer : Player
{
void Play()
{
//Some code.
}
}
class MusicPlayer : Player
{
void Play()
{
//Some code.
}
}
Run Code Online (Sandbox Code Playgroud)
一个常见的事情是两者都做
a)提供接口.使用对象时使用界面(即调用play方法).
b)提供一个基类,为具有普通管道的情况实现接口; 常用方法等.这是实施者可选择使用的帮手
通过这种方式,IAmAPlayer的实现者可以简单地实现该接口,或者如果它们的用例与您的基类匹配,则可以使用它.
| 归档时间: |
|
| 查看次数: |
3980 次 |
| 最近记录: |