1.适配器模式
public interface MediaPlayer {
void player(String mediaType);
}
interface AdviceMediaPlayer {
void playerMp4();
void playerMp3();
}
class Mp4MediaPlayer implements AdviceMediaPlayer{
@Override
public void playerMp4() {
System.out.println("--playerMp4-------");
}
@Override
public void playerMp3() {
}
}
class Mp3MediaPlayer implements AdviceMediaPlayer{
@Override
public void playerMp4() {
}
@Override
public void playerMp3() {
System.out.println("---playerMp3------");
}
}
class ApaptMediaPlayer implements MediaPlayer{
AdviceMediaPlayer adviceMediaPlayer;
ApaptMediaPlayer(String mediaType){
if ("mp3".equalsIgnoreCase(mediaType)) {
adviceMediaPlayer = new Mp3MediaPlayer();
}
if ("mp4".equalsIgnoreCase(mediaType)) {
adviceMediaPlayer = new Mp4MediaPlayer();
}
}
@Override
public void player(String mediaType) {
if ("mp3".equalsIgnoreCase(mediaType)) {
adviceMediaPlayer.playerMp3();
}
if ("mp4".equalsIgnoreCase(mediaType)) {
adviceMediaPlayer.playerMp3();
}
}
}
class AutoMediaPlayer implements MediaPlayer{
ApaptMediaPlayer apaptMediaPlayer;
@Override
public void player(String mediaType) {
apaptMediaPlayer.player(mediaType);
}
}