java 众所周知java是面向对象的语言。
面向对象主要表现在3个方面
1.封装(隐藏)
2.继承
3.多态
这些看似被的滚瓜烂熟的概念真的对我们有用吗?
或许用处只是在面试的时候。
我认为只有真正理清楚面向对象的编程思想才是最重要的。
每次看视频都会有一些新的理解,新的发现
举例子:老张开车去东北。这句话用面向对象的方法如何去封装呢?
很多人可能有一些面向对象的思想会说,封装一个Person的类,有一个name属性,在封装一个Driver的类,去继承Person类,有一个自己的drive()方法,其实是有些设计过头了。
设计一定要掌握题干,其实有没有必要多一个Person类的,在这里我觉得意义不是很大。
再如:drive(Car car)方法一个参数car,Address由Car中的run(Address add)方法传递呢,还是直接drive(Car car , Address add) 这样写呢,我的建议是 站在使用者的角度去看问题,使用者肯定是希望自己制定一辆车去某个地点,所以我偏向后者,但是如果你说一定要第一种功能上也能实现,没有对错之分,只是前者更人性话一点,逻辑上更通顺一点。
这里还有一点需要注意 , 就是如果你开始用的是drive(Car car)而后来觉得还是后者的方法好一些,建议不要去修改第一个方法,而是去重载他,这里就是java编程一个比较朴素的思想,能加则不要去修改。因为如果代码耦合度较高,修改是需要花费大量的时间的,而且容易出错。
面向对象主要表现在3个方面
1.封装(隐藏)
2.继承
3.多态
这些看似被的滚瓜烂熟的概念真的对我们有用吗?
或许用处只是在面试的时候。
我认为只有真正理清楚面向对象的编程思想才是最重要的。
每次看视频都会有一些新的理解,新的发现
举例子:老张开车去东北。这句话用面向对象的方法如何去封装呢?
很多人可能有一些面向对象的思想会说,封装一个Person的类,有一个name属性,在封装一个Driver的类,去继承Person类,有一个自己的drive()方法,其实是有些设计过头了。
设计一定要掌握题干,其实有没有必要多一个Person类的,在这里我觉得意义不是很大。
再如:drive(Car car)方法一个参数car,Address由Car中的run(Address add)方法传递呢,还是直接drive(Car car , Address add) 这样写呢,我的建议是 站在使用者的角度去看问题,使用者肯定是希望自己制定一辆车去某个地点,所以我偏向后者,但是如果你说一定要第一种功能上也能实现,没有对错之分,只是前者更人性话一点,逻辑上更通顺一点。
这里还有一点需要注意 , 就是如果你开始用的是drive(Car car)而后来觉得还是后者的方法好一些,建议不要去修改第一个方法,而是去重载他,这里就是java编程一个比较朴素的思想,能加则不要去修改。因为如果代码耦合度较高,修改是需要花费大量的时间的,而且容易出错。