浅谈Java之面向对象

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

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

 

接正题:

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

 

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

 

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

 

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

 

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



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

 

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


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




Android奋斗者


欢迎关注我的:

公众号:simplexu24




[愿你我用双手改变世界 ]


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值