为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

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

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

https://img1.sycdn.imooc.com//5be8e8990001b8b006970371.jpg

https://img1.sycdn.imooc.com//5be8e89900012b6710590499.jpg

https://img1.sycdn.imooc.com//5be8e899000178c610240457.jpg

https://img1.sycdn.imooc.com//5be8e89a0001bbbc10220531.jpg


https://img1.sycdn.imooc.com//5be8e89c0001dd7e10480661.jpg

https://img1.sycdn.imooc.com//5be8e9050001137110450642.jpg

https://img1.sycdn.imooc.com//5be8e90c00010fe307590777.jpg


正在回答

5 回答

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


0 回复 有任何疑惑可以回复我~
#1

蟹皇面plus

定义一个car对象的数组和foreach循环
2018-12-25 回复 有任何疑惑可以回复我~

真的写的挺好的,很简洁

0 回复 有任何疑惑可以回复我~

https://img1.sycdn.imooc.com//5bf54ae00001cd1704080097.jpg

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

0 回复 有任何疑惑可以回复我~
#1

qq_慕神4556126

Busload
2018-11-26 回复 有任何疑惑可以回复我~
#2

醉梦呆瓜

我开始也不明白,后来回过头去又看了,这个是构造方法,赋值用的。
2018-12-14 回复 有任何疑惑可以回复我~
#3

蟹皇面plus 回复 醉梦呆瓜

谢谢,其实我后来想明白了哈哈哈哈
2018-12-25 回复 有任何疑惑可以回复我~

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

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

this.xxx = xxx;

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

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

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

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信