Test类没有思路写,老师可以指导一下吗?

Test类没有思路写,老师可以指导一下吗?

Test类没有思路写,老师可以指导一下吗?



正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕小脸 2020-02-26 12:51:03

同学你好,

    1、为什么要创建IAct类的静态方法createActor?还有就是为啥要用静态方法?

        1)是为了产生表演者对象。

        2)用静态方法可以在main方法里面直接调用,不需要创建对象;因为main函数是静态方法,所以有一些方法设置为静态是为了方便调用。
注意:1、在静态方法中,不能调用非静态方法及引用非静态变量。但是反过来却没问题。   

     2、为什么要在createActor方法里创建变量actor,可以详细说明一下吗?

        为了体现多态,所以应该先声明一个接口的引用,如:IAct actor=null;然后在case 语句后面进行对象的创建,如case 1后的代码为:actor= new Bear("Bill", 1);

最后act方法的调用写在switch结构的外面,即actor.act();

从上述的流程上看,通过接口的引用指向了子类的对象,最后去调用act()方法,因为actor引用指向的对象不同,调用act()方法就会输出不同的结果。这就是多态的体现。

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~


  • 提问者 weixin_慕侠0167486 #1
    谢谢老师,最有一个问题是,为什么createActor方法是IAct类的呢?
    2020-02-26 20:38:16
  • 同学你好,createActor方法并不是IAct类,只是返回值定义为IAct接口而已。 如果我的回答解决了你的疑惑,请采纳,祝学习愉快~
    2020-02-27 13:37:25
好帮手慕小脸 2020-02-25 19:15:57

同学你好,Test类需设定表演菜单的方法,然后根据用户输入产生表演者,具体思路可参考如下:

(详细看注解)

http://img1.sycdn.imooc.com//climg/5e55017f09af563b09390750.jpg

http://img1.sycdn.imooc.com//climg/5e5501a0099d3e4009980709.jpg

http://img1.sycdn.imooc.com//climg/5e5501af0900dd4108280738.jpg

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~


  • 提问者 weixin_慕侠0167486 #1
    我有两个问题还不清楚: 一、为什么要创建IAct类的静态方法createActor?还有就是为啥要用静态方法? 二、为什么要在createActor方法里创建变量actor,可以详细说明一下吗?
    2020-02-25 22:27:43
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师