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