面向对象的理解

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编程一个比较朴素的思想,能加则不要去修改。因为如果代码耦合度较高,修改是需要花费大量的时间的,而且容易出错。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值