问答详情
源自:12-1 综合练习

看了第二遍才写出来......

看完第一遍面向对象做这个租车系统时,大脑空白,一脸懵逼,完全没有思路......

然后从头再看一遍,好歹写出来了,感觉还有可以完善的地方,

三人行,必有我师,有不严谨或者哪里可以修改的地方请大家多多指教,多谢!

https://img1.mukewang.com/5be8e8990001b8b006970371.jpg

https://img2.mukewang.com/5be8e89900012b6710590499.jpg

https://img4.mukewang.com/5be8e899000178c610240457.jpg

https://img2.mukewang.com/5be8e89a0001bbbc10220531.jpg


https://img4.mukewang.com/5be8e89c0001dd7e10480661.jpg

https://img1.mukewang.com/5be8e9050001137110450642.jpg

https://img4.mukewang.com/5be8e90c00010fe307590777.jpg


提问者:未来一为我而来 2018-11-12 10:44

个回答

  • qq_慕设计9185492
    2018-12-02 20:21:30

    请问Car[] car是什么意思,和for(Car c:car)又是什么意思啊?


  • qq_慕神4556126
    2018-11-26 16:46:14

    真的写的挺好的,很简洁

  • 蟹皇面plus
    2018-11-21 20:09:55

    https://img.mukewang.com/5bf54ae00001cd1704080097.jpg

    请问这个算是方法吗?为什么后面的数组对象可以直接new出来?

  • Loveless_World
    2018-11-13 01:23:26

    其他的都没什么问题,但是可以将封装的概念加入到代码里面,可以将变量设置成protected,然后在子类之中添加setter/getter。

    与其在构造函数里面直接用

    this.xxx = xxx;

    不如考虑调用setter里面的函数,防止一些异常情况,例如说:

    private setPrice(double price) {
    // 如果不小心将价格设置成了负数,那么什么都不做直接返回。成员变量默认值是0
        if (price < 0) return;    
        this.price = price;
    }

    还有就是,父类当中应该放着的是子类里所共有的变量,所以busload和burden其实可以分别放在客车、货车和皮卡里面。正常情况下来说在调用货车的时候不应该出现busload(因为货车不能坐人),但是你现在这种写法的话,在调用火车的时候的确是能够调用busload这个变量的。