java特点单继承,多实现。
但是项目中,经常会遇到多实现的现状。如何做呢?
下面以滚动字幕效果为例来讲解:
interface TextPalyInterface【统一接口】
public interface TextPlayInterface {
void setText(String text);//设置滚动文字
void onTextStart();//开始滚动动作
}
class TextPlayImpl implements TextPalyInterface【实现功能的类】
public class TextPlayImpl implements TextPlayInterface {
private String mText;
@Override
public void setText(String text) {
mText= text;
}
@Override
public void onTextStart(){
//执行滚动动作
}
}
class MyFragment implements TextPalyInterface【使用该功能的类】
public class MainFragment extends Fragment implements TextPlayInterface{
//实例化实现功能的类,通过它来调用相应方法。
private TextPlayImpl mTpi= new TextPlayImpl ();
@Override
public void setText(String text) {
mTpi.setText("我是跑马灯");
}
@Override
public void onTextStart(){
mTpi.onTextStart();
}