问答详情
源自:10-1 Java 中的多态

大家帮我看看我的代码有哪些改进之处,望不辞吝教!!!

https://img2.mukewang.com/5b98e3710001940407260220.jpg父类



https://img.mukewang.com/5b98e4c70001e3b705180135.jpg巴士子类



https://img.mukewang.com/5b98e4c70001852f05520155.jpg飞机子类



https://img.mukewang.com/5b98e4c80001231c05050174.jpg轮船子类



 

 

https://img2.mukewang.com/5b98e3720001640d06050540.jpg测试类


https://img2.mukewang.com/5b98e373000108c605770175.jpg结果

大家看看我改怎么改进!!!谢谢

提问者:慕村2485551 2018-09-12 18:02

个回答

  • 时代花园
    2018-09-12 22:52:20
    已采纳

    package com.duotai;//多态包

    public class MM {   //父类

    String jiaoTongGongJu;//交通工具

    String yunZaiFangShi;//运载方式

    int peopleNum;//载人数

    public void shuru(String jiaoTongGongJu,String yunZaiFangShi,int peopleNum) {//创建带参方法

    this.jiaoTongGongJu=jiaoTongGongJu;

    this.yunZaiFangShi=yunZaiFangShi;

    this.peopleNum=peopleNum;

    }

    public void shuchu() {

    System.out.println(jiaoTongGongJu+"通过"+yunZaiFangShi+"运载"+peopleNum+"人");

    }

    public void shuchu2() {

    System.out.println("*****常见的几种交通运输方式*****");

    }

    }

    。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

    package com.duotai;

    public class NN extends MM {   //子类

    public static void main(String[] args) {

    MM aa=new NN();

    MM bb=new NN();

    MM cc=new NN();

    MM dd=new NN();

    dd.shuchu2();

    aa.shuru("飞机","空中",290);//调用带参方法

    bb.shuru("轮船","水上",600);

    cc.shuru("火车","铁路",2000);

    aa.shuchu();

    bb.shuchu();

    cc.shuchu();

    }

    }

    这是我的,你看看吧,个人感觉你根据交通工具的不同来创建三个不同的子类,显得太繁复了,有点多此一举。其实可以创建带参的方法,将三种交通工具都包含进去,然后再在调用带参方法的时候直接赋值就是了,这样就只用创建一个子类。

  • 洛辰m
    2018-09-30 15:57:15

    你这样写挺好的啊,我感觉,倒是1L不符合本次练习要求啊哈哈哈哈哈哈哈。你为什么不在属性前写上修饰符呢?

  • ZHONGSONGLIN
    2018-09-18 17:15:46

    不对想错了

  • ZHONGSONGLIN
    2018-09-18 17:08:12

    为体现封装性,建议把人数还有一些参数封装到子类里面

  • 时代花园
    2018-09-12 22:53:26

    *****常见的几种交通运输方式*****

    飞机通过空中运载290人

    轮船通过水上运载600人

    火车通过铁路运载2000人

    这是我运行的结果,其实完全一样。