00:01
好了,那么这块呢,咱们这个笔记,笔记当中我觉得最好这个体现一下啊,体现一下多肽在开发中有什么作用呢。多肽在开发中的作用是?降低程序的什么耦合度,提高程序的什么扩展力?降低程序的耦合度,提高程序的扩展。你比如说这个master,你在里边写了一个方法叫feed。对吧,你在里边又写了一个方法,Public feed cat。那么,这样的代码是不是就表示我们的主人和具体的主物关系很紧密?
01:03
对吧,降低程序的耦合度。就是以上的代码啊,以上的代码中表示master和dog以及K的关系紧密。很紧。啊导致什么呀,扩展力很差。很紧密,其实就是耦合度高。如果说你的代码现在变成什么呀,变成这样什么意思,你不写它了,你这块哎写成pet,那么以上的代码中表示什么呢?表示master和dog以及什么呀,K的关系就。脱离了。啊,脱离了。
02:01
关注的是什么派类?啊,Petly这样这样啊,这样什么呀,Master和dog以及K的耦合度就降低了。啊,提高了软件的扩展性。啊,软件的扩展性,刚做的时候想不到要怎么用多肽啊,代码一步步写着就会。想到要用多肽,嗯,行,这个东西你再考虑考虑啊,你再想一想对吧?啊,你再想一想啊,这个非常非常重要,各位啊,多肽在开发中它是到处都是啊,为什么呢?就是多肽你会天天用。啊,到处用明白吧,所以这个我说了,它很重要,你要面向抽象编程,不要面向具体,你面向具体,那么这边你相当于你的主人和dog,主人和这个cat的耦合度就上来了。
03:04
你为了降低耦合度,所以这块你不要写具体的dog,也不要写具体的cat,你写个pet,那这样的话你的主人和pet产生关系,但是你的主人并没有和具体的宠物产生关系,是吧?所以就是降低了耦合度,提高了成绩的扩展力,那将来你在扩展的时候,这个类就不用动了。你master这个类就写一次就行了,你写一次这个方法你写一个就够了,哎,别的别的都可以往这传。啊,别的都可以让出,所以呢这块呢,咱们其实封装继承和多态啊,是一环扣一环,首先大家想一想,封装是干什么的,是不是把它封装成一个整体啊。对吧,哎,整体的对象嘛,对象有个整体的感觉对不对,封装嘛,是不是,哎,那对象和对象之间有了继承关系,有了继承关系是不是才有了方法的覆盖和多态,你想没有继承关系有有方法覆盖和多肽吗?就现在你再去回想前面的东西,你是不是感觉就有一些东西就通了,对不对啊,就是面对象的三大特征啊,叫封装、继承、多态啊,真的是一环扣一环。
04:11
啊,一环扣一环。继承就是有了封装,有了这种整体的概念。之后。对吧,哎,对象和对象之间产生了什么继承,有了继承之后才有了方法的覆盖和多肽。啊和封装继承啊,你想想,如果没有继承,你有这说法吗?你是不是有了继承才有多?你有了继承才有animal a等于new cat的这种写法对吗?因为你的cat是继承animal的副类型的引用可以指向子类型对象,你没有继承,那你哪来多肽呀?
05:02
是不是,哎,所以说当时我在给大家讲的时候,大家可能当时比较迷糊,比如说继承有什么用啊,大家还记得吗?继承的作用有两个,一个是基本作用,一个是什么重要作用?基本作用是啥呀?代码可以得到重复使用吧,那继承这一块最主要的一个作用是什么呀?基本作用是。是什么?最主要的作用是什么?基本作用是代码复用,最重要的作用是什么呀?是有了继承才有了方法的,什么覆盖,还有什么多肽,是不是,哎多肽。好了,那我问大家一个问题,昨天还记不记得有一个学生,我忘了是谁了,是邓俊还是谁?我忘了啊,我忘了是,是怎么问来着那个问题。啊,就是说我现在有一个类。对吧,叫做animal,然后呢,里边有个方法叫什么move吧,是不是,哎,那么接下来在这呢,有一个方法是不是叫做cat呀,那忘了昨天是谁问的啊,继承谁animal。
06:00
然后在这儿呢,重写是不是,哎,重写个木方法。就重写目方法,重写目方法,然后咱们同学的问题是什么呢?咱们同学问题是老师,我为啥要重写,我写个新的方法不行吗?是不是昨天有同学问过这样的一个问题,打个一来,我这打个一是谁问的,我忘了啊,我忘了。是谁?问的是邓俊还是伟斌?我忘了啊,反正是。是有吧,有昨天是有这样的同学问吧,问这个林动啊。哦,林队问的,林队问的就是说我这个animal类当中有这样一个方法。啊,有这样一个方法,然后呢,我写了一个此类呢,去继承父类是不是,然后我重写木屋方法就就有同学就哎林动应该是对对想起来想起来了啊对问的问这个为什么我要重写啊,我在这儿这个我重写它干啥呀。是不是,哎,我写个新的不行吗?
07:04
你写个新的没人管你,你愿意写新的可以啊,但是多肽这块这种机制你就用不了了。多肽的机制你就用不了了。啊,我不知道这个林动有没有理解这句话。就是如果说你写一个新的方,你写一个方法重写的话,大家想一想,是不是你编译的时候绑定的是这个方法。当你运行的时候,底层对象是这个对象的话,它一定会调用这个对象的move方法。哎,你再好好想想啊,如果没有这个重启的概念的话,那我们这个能实现吗。这个能实现吗?这个地方你要调的什么呀?调的是宠物的什么eat吗?是不是,哎,派点eat掉的是宠物的it,那如果说你没有重启的这种概念的话,你想想是不是就永远掉的是宠物这个类里边eat方法,那个子类里边异的方法就钓不着对吧。哎,就钓不着明白吗?所以这块呢,这个很巧妙啊很巧妙啊,其实在这儿呢,有很多思想在里边啊,很多思想在里面,我再继续往下总结一下,这里还说了一些什么思想开发中的作用是吧,然后呢,这块呢有个思想啊,软件开发原则。
08:15
这里提到了一个软件开发原则啊,七大原则,最基本的原则OCP啊,对什么呢?对扩展开放,对扩展开放,对修改关闭啊,对修改关闭啊,目的是降低程序耦合度。提高程序扩展力而存在的一种一种机制啊,哎,那么刚才又说了,我们叫什么呀,叫记住啊,面向抽象编程,不建议面向什么呀,具体编程啊,不建议面向具体编程啊。
我来说两句