打字猴:1.700480796e+09
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 }
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
[ 上一页 ]  [ :1.700480796e+09 ]  [ 下一页 ]