00:00
大家好,我是海波老师,接下来我们继续来讲Java面向对象的语法,我们这里呢,拷贝一个新的来拷贝。拷贝以后呢,我写上一个12。然后呢,把这个去掉,我们写上它叫X好了,然后点击OK,然后把这个里面的我们都删掉,都去掉,去掉以后我们写上它,咱们叫X,这个叫什么呢?叫继承好。面向对象语法中啊,有三个非常重要的特征,那么其中就是继承、封装和多态,我们说一下面向对象编程中有三个非常非常重要的特征。我们称之为叫继承封装。还有一个叫多肽。既然把继承放置在第一个,说明它是非常重要的,所以我们接下来呢就来讲解一下Java语法中的继承,这里的继承和生活中的继承的概念还是很像的,生活中啊,我们理解的继承呢,一般是指孩子继承父母的东西,继承啊,就是一个类什么都不用做就能直接获取到另外一个类的成员属性和成员方法。所以如果面向对象的分析要更贴近于生活的话,那么这两个类也应该存在这种父子关系,对吗?诶,恰恰事实就是这样,加号的语法中我们的类就存在了父子关系,所以我们这里写上。
01:16
我们的类,它存在父子关系。我们的子类可以直接获取到父类的成员属性和成员方法。非常的方便,那当然了啊,构造方法是不行了是吧?那么这种方式我们就称之为叫继承,子类直接从父类中把这些拿到手,诶,这就是叫继承了啊,子类可以什么都不用做就拿过来,不过需要注意,生活中啊,我们的孩子是有父亲和母亲的概念,所以感觉上继承的是继承父母双方的东西,但是在Java面向对象的语法中,类的继承它只能是我们的单继承,所以呢,咱们写上类的继承它只能是单继承。
02:02
也就是说,没有所谓母亲的概念,有的只是父亲,所以我们才会叫父子类,而不是叫母子类啊,简单的来讲,就是家务中的一个类,它只能有一个负类,一个类它只能有一个负类。不能存在多个服类。但是反过来是可以的,就是一个父类呢,可以有多个子类。一个父类它可以有多个子类,这个是没有任何问题的,好了,我们这里呢,给大家画图呢,让大家看一看,我们这里呢,给它来,我们给它拉大。好了,然后在这里呢,我们给他一个红色啊。行了,我们画完了以后呢,往这边再挪挪,哎,往这儿再挪挪,我写上它,我们就叫负类。我们写完了以后,我们的父类这边我们就写上它,我们称之为叫做子类,我们写上我们叫子类行了,然后呢,把颜色呢,给它稍微的我们变一下啊,这个黄色,然后呢,我们来我们写上复制,复制以后我放到这边,我写上一个我们的这个叫做嗯,写个二吧,这个我写个一啊不同的子类,然后颜色的我换一换。
03:06
我这里呢,给它换成绿色,然后呢,我这里再拷贝一下,拷贝以后呢,我再写上它叫子类三,然后呢,给它另外一个颜色,给它一个蓝色吧,好了。写完了以后,子类一,子类二,子类三,我们都继承于我们的父类,所以我们的箭头我们拿过来,拿过来以后呢,我们这里呢,给它放到这边啊,然后我们这边呢,也给他拿过来。好了啊,然后这边好放过来以后,然后呢,继续把这个呢,我们再放过来,这样的话,大家会发现这个跟咱们前面说的就是一样的了,我们每一个类它都只有一个父类,但是呢,我的一个父类呢,可以有多个不同的子类,这个是完全可以的啊,生活中啊。孩子继承父母的东西,感觉啊会少奋斗好几年,对不对?那家务中的子类继承父类的好处呢,其实也是非常明显的,那就是不用自己写代码了,这恰恰减少了重复代码的编写,对于开发效率的提升呢是非常明显的,而且呢,如果我修改了我们父类的代码,他们继承过去以后,他们不都自动就改了嘛,所以我们的这种继承啊,对于代码的维护和升级来讲也是非常有帮助的,所以呢,面向对象的这种特性是非常强大的。好了啊,接下来咱们就来演示一下继承的相关语法,来我们这里就来给大家写写,我先给大家写上一个class,我写上一个叫parent啊,咱们这个parent就是我们所谓的副类了,然后呢,我给它添加属性啊,我写上一个string,我们叫做name,它等于我们叫做张三,好了,写完了之后呢,接下来我再写个word,我们叫做test OK,然后呢,里面打印一下,我们写上它叫test。
04:40
这就是我们当前这个类的一个属性,一个方法,好,我们再创建一个类,我们叫做class,我叫做child,咱们就叫子类了,然后呢,我放过来,但是同学们记住了,我这里什么可都没有写啊,我什么都没有写的话,它能调用我的name属性吗?它能调用我们当前的这个test的方法吗?根本就不可能。
05:01
诶,那怎么办?我什么都不想写,但是我想拥有这个属性和这个方法,我该怎么办?诶这个时候呢,我们就可以想办法让这个child来继承咱们当前的parent,那这里呢,就需要采用特殊的语法了,这个语法呢就叫ten,我们的继承它采用ten语法。那么基本的语法方式呢,就是我们的子类,然后呢,我们的X,我们叫父类就可以了,就把这个关键字加上,然后呢,告诉我记成哪个类就完事了,大家看一下在我的子类的child的这个位置,我把这个关键字我往这儿放。放完了以后,你再加个空格,把parent这个类你放过来,就这么简单,你只要拿过来以后,那么我们这个child你什么都不用做,就自动的把它继承过来了,诶你看我根本不用写任何的代码,对不对,诶躺平就可以了,哎,老师啊,这样的话行不行呢?咱们来验证一下,首先我就直接写上一个叫child等于C,然后等于new,咱们叫child,写完了之后呢,我就写上C点,同学们有没有发现name是能访问的呀,然后我打印一下好了,然后呢,我再写上一个c.test你看看也没问题呀,现在呢,我来运行一下,看看结果运行。
06:17
运行以后看结果,同学们有没有发现我们当前是完全没有问题的,所以这就是我们最基本的继承语法,但是呢,我们继承的语法还有很多其他的应用,我们这里先不做介绍,我们就先把这个基本的语法给大家介绍一下就可以了啊。好了,同学们,我们继承就先说到这里。
我来说两句