1700480779
1700480780
各种精彩的活动都有了,我们再来看抽象明星,它是所有明星的代表,如代码清单33-48所示。
1700480781
1700480782
代码清单33-48 抽象明星
1700480783
1700480784
public abstract class AbsStar{
1700480785
1700480786
//一个明星参加哪些活动
1700480787
1700480788
protected final AbsAction action;
1700480789
1700480790
//通过构造函数传递具体活动
1700480791
1700480792
public AbsStar(AbstAction_action){
1700480793
1700480794
this.action=_action;
1700480795
1700480796
}
1700480797
1700480798
//每个明星都有自己的主要工作
1700480799
1700480800
public void doJob(){
1700480801
1700480802
action.desc();
1700480803
1700480804
}
1700480805
1700480806
}
1700480807
1700480808
明星都有自己的主要活动(或者是主要工作),我们在抽象明星中只是定义明星有活动,具体有什么活动由各个子类实现。我们再来看电影明星,如代码清单33-49所示。
1700480809
1700480810
代码清单33-49 电影明星
1700480811
1700480812
public class FilmStar extends AbsStar{
1700480813
1700480814
//默认的电影明星的主要工作是拍电影
1700480815
1700480816
public FilmStar(){
1700480817
1700480818
super(new ActFilm());
1700480819
1700480820
}
1700480821
1700480822
//也可以重新设置一个新职业
1700480823
1700480824
public FilmStar(AbsAction_action){
1700480825
1700480826
super(_action);
1700480827
1700480828
}
[
上一页 ]
[ :1.700480779e+09 ]
[
下一页 ]