java - 面向对象设计——暂停功能

标签 java oop

我正在努力提高我的 OOD 思维。这是我的问题。

假设您要设计一个音乐 mp3 播放器。我得到了一个包含播放列表集合的类(class)。

class Player {
    Map<String, List<Song>> playlists;    // <Name, PlayList>
    public void play (Song song) {
        // decode song
        // play song
    }
    public void play (String playlistName) {
        // play a playlist
        for (Song song : playlists.get(playlistName)) {
            play (song);
        }
    }
    public void stop () {
        // stop playing
    }
    public void pause () {
        // pause, resume playing the last song when hit play again
    }
}

假设“歌曲”已经包含歌曲的所有元数据。已经描述了方法的所有功能。当我试图实现“暂停”方法时,我被卡住了。你会怎么做才能实现这一点?

谢谢!

最佳答案

查看state pattern .您将存储播放器的状态。当您按下暂停并播放时,您会知道播放器的状态。

关于java - 面向对象设计——暂停功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14427977/

相关文章:

Java - 连接到 MYSQL 数据库 try/catch 的代码出错?

java - 如何将参数传递给另一个类中的数组?

java - 如何向自定义 Magnolia CMS 模板添加导航?

java - sql结果集无法返回结果集是什么原因?

java - 为什么这个主机名看起来这么奇怪?

java - 扩展android View类并影响所有子类

java - 抽象类构造函数中的抽象方法 : design flaw?

c++ - 我应该为我正在包装的结构使用转换运算符吗?

c# - 了解面向对象编程

java - 自动化截图