您的位置:首页 > 编程语言 > Java开发

浅谈Java之面向对象

2016-04-10 11:51 323 查看
说之前,先插点题外话。很多人说想学Java,但是不知从何下手,或者不知哪些是重点。大部分人会被那些厚厚的书吓到。

这里提一下,Java基础必须要学的几大部分:语法、面向对象、类库、集合、异常、IO、多线程、网络。还是啰嗦一句:光看不做,是永远不能体会其中思想的。

 

接正题:

一说到面向对象,可能大部分人会讲就是那三大特性啊:封装、继承、多态。但是具体是三大特征是怎么样的概念,可能就不甚了解了。

 

先问大家一道简单的题目,输入两个任意数,和运算符号,得出结果。当然,很多人第一反应肯定是简单啊,Scanner输入两个数,外加四个if,解决问题,简单粗暴。这肯定是对的,但是你就很容易陷入了初学者的陷阱。

 

很多人在刚入行的时候,解决问题总是抱着得出结果就行了的想法,没有真正去体会一门编程的思想。这也是刚接触面向对象编程的一个小难点,也是很多人不解之处,为何简单的一道题要用麻烦的方式解决?打个比方吧,我们作为个体,当然做事都是按部就班,循序渐进的。但是如果你哪天当上CEO步入人生巅峰,你管理一个大公司能用这种方式吗?各个部门都有不同的人,有着不同的运作流程,彼此交互着,你还能按照原来的方式吗?说到这里,你有没有较为明了的体会。从简单做起,到了复杂阶段就变得轻车熟路。

 

所以,我们应该怎么样做上面那道题呢?第一步:提取对象,提取属性。把运算当作对象,那么两个数就是它的属性了。这时候,封装便来了。属性需要让人知道吗?当然不用,封装便是隐藏细节,再通过公用方法暴露。好处呢:封装隐藏了类的内部实现机制,从而可以在不影响使用者的前提下改变类的内部结构,同时保护了数据。来,代码体会:

 


第二步:比较事件的共同点,提取出共同的方法。那么四则运算有什么共同点呢,哈哈好好想想,共同点…就是都会得出一个结果。这个便是父类的方法,然后继承就来了。四则通过继承来实现彼此不同之处。为什么要多此一举,可能这个例子过于简单,但是想想如果我们遇到复杂的呢。这时候,继承的好处便来了:可以重用父类代码,减少冗杂代码,同时为实现多态性作准备。来,代码体会:





第三步:最后我们肯定就是通过new关键字实现四则运算。那多态就来了,它是指允许不同类的对象对同一消息作出响应,当编译时类型与运行时类型不同,便出现多态。

 


这里还有一个问题,那四个方法如何灵活调用呢。用switch语句,便可以灵活实现了。而且这里还用到了设计模式的简单工厂模式,关于设计模式有空再说说。大家看看代码自行体会:



因为本人时间有限,只能给大家粗浅的认识而已。面向对象的内容很多,接口,抽象,还有构造方法,方法重载,内部类。这里就不一一展开,望大家用心学习。 

Android奋斗者

欢迎关注我的:

公众号:simplexu24



[愿你我用双手改变世界 ]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息