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
}
1700480829
1700480830
//细化电影明星的职责
1700480831
1700480832
public void doJob(){
1700480833
1700480834
System.out.println(”\n======影星的工作=====”);
1700480835
1700480836
super.doJob();
1700480837
1700480838
}
1700480839
1700480840
}
1700480841
1700480842
电影明星的本职工作就应该是演电影,因此就有了一个无参构造函数来定义电影明星的默认工作,如果明星要客串一下去唱歌也可以,有参构造解决了该问题。歌星的实现与此相同,如代码清单33-50所示。
1700480843
1700480844
代码清单33-50 歌星
1700480845
1700480846
public class Singer extends AbsStar{
1700480847
1700480848
//歌星的默认活动是唱歌
[
上一页 ]
[ :1.700480799e+09 ]
[
下一页 ]