看完第一遍面向对象做这个租车系统时,大脑空白,一脸懵逼,完全没有思路......
然后从头再看一遍,好歹写出来了,感觉还有可以完善的地方,
三人行,必有我师,有不严谨或者哪里可以修改的地方请大家多多指教,多谢!
请问Car[] car是什么意思,和for(Car c:car)又是什么意思啊?
真的写的挺好的,很简洁
请问这个算是方法吗?为什么后面的数组对象可以直接new出来?
其他的都没什么问题,但是可以将封装的概念加入到代码里面,可以将变量设置成protected,然后在子类之中添加setter/getter。
与其在构造函数里面直接用
this.xxx = xxx;
不如考虑调用setter里面的函数,防止一些异常情况,例如说:
private setPrice(double price) { // 如果不小心将价格设置成了负数,那么什么都不做直接返回。成员变量默认值是0 if (price < 0) return; this.price = price; }
还有就是,父类当中应该放着的是子类里所共有的变量,所以busload和burden其实可以分别放在客车、货车和皮卡里面。正常情况下来说在调用货车的时候不应该出现busload(因为货车不能坐人),但是你现在这种写法的话,在调用火车的时候的确是能够调用busload这个变量的。