java零基础入门第二天 类 对象 继承 重写

在第一天的时候我们安装了开发环境,看了第一章基本概念,对编译 类 方法 对象有了一些基础的认识,在第二天我们主要来聊一聊对象。 在第一章的时候有说到java是面向对象编程,那么什么是对象呢?类跟对象有什么关系呢?面向对象有什么好处?

1:先来说下什么是对象 “按照通俗的说法,每个对象都是某个类(class)的一个实例(instance),这里,‘类’就是‘类型’的同义词。” 这句话看起来很抽象,用代码来解释就很简单了

Person person = new Person("张三");

Person就是一个类,new Person 就是在Java中用new在堆上创建一个Person类型的对象,有属性叫张三,并将这个对象赋值给person,person就是Person这个类的具体实例。

2:类跟对象是什么关系呢?博主在这里是这样理解的,类是一个设计图,对象是一个具体设计出来的实体,比如Person这个类就是一个设计图,我们作为开发工程师,在这里跟上帝的存在一样,我设计一种类:人类,Person就是我的设计类,里面可以有年龄,身高,姓名。而对象就是具体的某个人,比如张三。我觉得理解到这种程度对于入门已经够,后期碰到再详细研究,初级工程师不建议深入某些理论太钻牛角尖,精力是有限的,应该花在准确快速帮助到自己的地方。

3:面向对象有什么好处?这个百度有太多答案了,我就结合着 说说自己的看法,在head first java中28-32页讲的故事目的就是说明面向对象的好处,那就是可以将复杂的业务逻辑简单化,在以后你会碰到很多商务级的项目,他们不在是1+1,而是有很多复杂的属性,动作,但是你如果把每个要处理事务,当做了一个个类(人,狗,桌子,椅子),每个类有他们各自的属性(大小,年龄,男女),及动作(也就是方法 吃 喝 旋转),这样也便于后期维护,如果某个类要修改,只要修改那个类相关的代码就好。

在书中28-32页两个工程师为了一个需求分别采取了用面向对象开发和非面向对象开发,在客户改需求的时候,还有添加需求的时候面向对象开发的优点就出来了,便于维护。

在书中有提到一个知识点叫继承,这也是java面向对象的三大特性,找工作的时候,面试官问基础的时候也会问道的重点。那么什么是继承呢?我们看书中,客户的需求是 点击图形的时候,图形要顺时针旋转360度,还要根据不同图形播放不同音效,那么面向对象的设计的话就是 根据有三个图形 那就建立三个类,square circle triangle三个形状的类,每个类里面有两个方法播放音效和旋转。后面客户添加了一个阿米巴原型的类,但是不清楚是什么样,没关系,不影响。

那这样四个类,哪个类有什么变动,就维护哪个类就好了,可是这样发现四个类都有重复的方法,那我们就抽出一个叫形状(shape)的类,这个类实现旋转和播放的方法,另外四个类只要继承了父类就可以实现了父类的旋转和播放的两个方法。书中好像就讲了这么,我这边稍微扩展下,因为这些都是设计理念都是国外人写的,国外思想中,后人是站在巨人肩上,所以子类要比父类强大,子类能比父类更多方法,比如阿基米虫类可以多个吐口水方法,那刚刚说了正方形 圆形 三角形 三个类播放音乐是不同的,那怎么做到呢?这边提到一个重写方法的理念,就是将父类的方法重写,播放对应的音乐,这边不用理解,了解下有这个就好。

接着跟着书往下看下去,会发现36页有个叫你建立自己的类,这里你就可以幻想自己是个造物主,现在要造点啥,书中是造了一个狗的类,接下来还有属性和xing行为,属性就是实际变量,比如狗的尺寸,年龄,名字,行为就是方法,比如狗应该会叫,或者你想让狗会飞也是可以,这样就有飞 跟叫两个方法。

这边注释都写的很清楚了,我就不再写一遍了。

在书中第38页有个猜数字游戏的代码实现,从需求,到设计,再到测试,实现,都举了出来了,根据注释理解每一句代码的意思,如果你都能理解,那么这两天的内容 都掌握了可以试着多做一做课后的习题。

今天的内容就先到这,题目有空再解析。总结下本章内容 类 对象 继承 重写。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值