Java编程思想学习笔记一

       最近开始看Java编程思想这本书,这本书听说讲的都是比较接近原理的知识,那就开始学习吧,并写下笔记记录下学习历程,希望有所成长。

        这本书一开始就从对象开始讲起,以前开始接触面向对象语言,学的是C#,后来接触java,觉得两个语言其实是很相似的,那就重新温故下,也许能有更深入的了解。

        面向对象的四个基本特性,--抽象,继承,封装,多态。这个是大家都知道的。

抽象很好理解,我是这样认为的,不知道对与不对,抽象就是具体的事物抽取出他的模型出来,万物都有自己的模型,如简单的杯子,车,人等等。机器人就是根据人这个对象抽象出来模型再进行改造出新的模型,然后再造出来,这个过程在我们的Java编程中就好像我们先写个类,这个类就是模型,里面有这个对象的一些基本特性,属于这个对象独有的一些特性。然后将机器人造出来吗,就是编程中使用new关键字,将类实例出来。然后这个机器人就可以正常工作了,他可以提供一些功能,如一些扫地的机器人,他可以帮我们清理垃圾,那我们编程中呢,要这些对象来干嘛呢,总不会闲着没事做吧,其实道理是一样的,我们写这些类,创建这些对象来就是为了完成某件事情,的、而对象就是为了完成这些事情提供某些特定的功能而存在的。可以这样认为,对象就是服务提供者。

       讲到这里,继承就出现了,Java中支持单继承,不允许多继承。这个跟我们人是一样的,我们每人独立的人,我们就是从我们的父母那里继承过来的,我们继承了他们那些属于人的特性,有眼睛,有鼻子。同时我们又区别于我们的父母,我们有自己的特点,如指纹,我们的指纹是跟我们的父母不一样的,这就是我们的特性。说到这里还不能理解的话那我再举个例子吧,还是机器人吧,一开始我们设计了机器人这个模型,有手有脚,还能扫地,这个是第一代机器人。可是后来我们又不满足现状了,别人的机器人还能帮忙递东西,我们也想自己家里的机器人也能帮忙拿个东西什么的,这样我们就可以躺着看电影了,想喝杯水不用自己去倒,那我们得再次设计第二代机器人吧,我们的第二代机器人要有第一代机器人的所有功能,这些我们的设计图纸已经有了,我们不需要再去重新设计,只需要设计新功能那部分的图纸。这个过程我们在面向对象编程中,就可以这样,在第二代设计图纸中(模型),就是类中,只需要使用extends继承第一代设计图纸(类一),通过重写类一的方法,就能获取类一提供的功能,然后自己在类二中再设计新的功能,编写新的方法就可以了。

      说的有点啰嗦,但是这样子类就有自己的功能,也有父类的功能,子类也可以不实现这些功能。而父类呢,不去管子类有哪些功能,只需要关心自己就可以了。

 

       下面我们再接着看下封装吧。

        还是机器人,客人到我们家里了,看到我们的机器人了,觉得好喜欢,就借回家去用了。我们不担心他借回去之后用坏了吗,哈哈,还好自己早就有准备,在设计的时候,我们就给这个机器人加了个外壳,这样这个机器人只能用来扫地,递东西。但是客人呢,只能使用,却不知道机器人里面的构造,有几颗螺丝钉,有几块电路板是吧,他也就不能去破坏到我们的机器人的内部结构了。转换为面向对象编程,这个过程就是,我们的螺丝都是采用的自家的,还外面加了个保护壳,是私有的private,别人看不到,也接触不了啊。但是能用到这些扫地,递东西的功能,这些功能我们是在方法中实现的,我们的方法是public的,所以别人能够使用。这样能够理解封装吗?

        多态。下次接着说!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值