00:00
行,这个马上要到假期了哈,这个大家的话呢,就是回去还是要复习复习的,就是虽然说这个过年的这个时间呢,咱们这个假期还比较长的,嗯,这个也有亲戚啊朋友啊啥的是吧,需要这个走一走啥的,就是大家呢,还不像这个之前的那一班就已经毕业了,到年底这个时候呢,很风光的就回去了,找到工作了啊,在北京或在哪儿了是吧,其实尤其是大家啊,有很多同学都是大四过来学,我觉得这些同学呢,是非常明智的,就非常有就是这种长远眼光的啊,因为明明大四的时候呢,其实可以在学校里边逍遥嘛啊,这时候呢,也没有这种毕业的这个课的压力了,就是企业论文在中国的话呢,这个又属于这个叫严进宽出的,基本上大学呢,你要是进了校门了,拿了录取通知书了,没有毕业这个事儿呢,其实是很奇葩的一件事情了,呃,就是你你除非就是你不想毕业了,就是基本上这个大家写毕业论文的话呢,相对来讲也都还好一点,这块呢,其实是比较奢靡的一段时间是吧,嗯,然后呢,很多同学还在学校奢靡的,然后这块。
01:00
那你选择过来学习,呃,当这个都毕业的时候呢,他可能也找了工作了,就是在学校呢,也可能就找了几千块钱的,你这块呢,一下子可以是他的这个double,对你是可以翻倍的,甚至可以更高啊,甚至还可以更高,你想呢,要如果他也来北京找工作,然后呢,找到一个5000块钱的,他其实这个没来过,不知道,来了以后才发现5000块钱其实一个月基本上就只是够他吃喝用,而且还得省着点用啊得这种了,然后呢,你要一过来,咔,这个学的好一点的,直接一万五以上的三倍了是吧,那你想想你们俩去吃一顿饭的时候呢,他这个心态还是不太好的啊啊,你比如说是三倍了,你就说比他这个多两千三千,这个还是有差别的,你像在北京,你一个月比他多两三千,假设交女朋友的话呢,加女朋友一个月最起码得花两三千是吧,你现在你能多多交一个女朋友是吧,那你要是三倍的话呢,这就。
02:00
看你身体能不能扛得住了啊,还是有区别的啊,就是大家呢,现在还没有这个毕业,你要是毕业的话,到年底了,就是一走亲戚朋友啊,感觉还是挺好的,还说找着工作了,怎么怎么样,还是不错的是吧,现在呢,大家还处于这个学习的状态,这个时候还体现不出来你跟他们这个主要区别,那这块呢,再坚持几个月是吧,就是得努力,就努力呢不一定成功,但是不努力呢,一定很轻松是吧?嗯,他们现在就在轻松啊,咱还得再坚持去学啊,那回过来咱们接着来看下这个抽象类,抽象类的话呢,咱们关于抽象方法,咱们刚才已经都讲完了,其实呢,这个比较好理解,那下边呢,我们就来看一下简单的一些课后的题目,这呢有几道小的思考题,第一个这为什么抽象类呢,不可以用final去修饰或声明说过了是吧,对啊,这个抽象类的话呢,这个基本上都要求用子类去继承了,你这块呢,明确要。
03:00
不能继承,这是不行了,那么创要内容可以定义构造器吗?可以吧,可以,虽然你不能造对象了,但是我们子类呢,造对象还要用你的构造器呢,还要加在你的这些属性啊,或者方法呢,还有还就是你可能也有这个非静态的,那属性的话呢,呃,非静态你可能还有这个非抽象的方法或者你的属性,那此类呢也都得有,所以它肯定还是要调你的这个构造器的,就是说呢,我们有抽象以后呢,你不能跟前面的这个叫这个继承有矛盾了,就是这个知识之间呢,它不能有矛盾的点啊,所以说呢,在继承的基础之上呢,我们再讲抽象这块呢,你这个子类呢,该去拿掉负类的构造器还得能去掉,所以你还得有构造器,下边呢,说是不是可以这样去理解,说抽象类呢,就是比普通的类,就以前没有抽象的这个类呢,这个多定义了抽象方法,除了呢,不能直接进行类的实例化之外呢,说没有其他的任何不同了。
04:00
可以这样理解,不啊,不能啊,为啥不能呢?其实也可以这样去想啊,就是说我们原来呢讲一个类,这个类的话呢,没有抽象,你可以去用它的对象,只是说呢,有时候我们其实也不拗,还是应用的子类对象,现在呢,我们加上一个abstract,只是明确出来说你不要去造这个类的对象了啊,当然这里边呢,这个说有抽象方法了,不一定有。不一定有啊,也可能没有这个抽象方法,那只是说呢,你不想造对象,让子类的对象去造啊,只是说呢,我们在开发的时候呢,通常情况下啊,咱们看到一个类是抽象的,通常情况下它都有抽象方法啊,当然也可以没有,但是反过来呢,说抽象方法所属的类呢,那你没得选,必须呢是抽样类,哎就这个意思行,这呢是咱们说的这个几个思考的问题,然后这呢有一个客户的一个题目,这个题目呢,相对来讲也比较简单一些,这呢咱们就直接来写了,说编写一个employee类,声明成这个抽象类,有三个属性,还有一个抽象的方法,CTRLC这块我们就直接呢来造一下,新建一个包。
05:15
哎,新年一类呢,叫employee。好,这呢去声明三个属性,四锥形的name。嗯,这个我D呢先也生明成个in型啊,其实在这个真正做的时候,ID你可以也生明成这个string类型的,然后private,这是一个salary doubled行三个属性提供必要的构造器,Auto shift s,我们可以先整一个空餐的。这样一个代餐的,然后接着呢,去提供这个work方法是一个这个抽象的,这个时候你注意这个方法,你别给它写成private就可以了,而方法呢,通常咱们都给它写成public了,那我就用public oftract word,哎,Work,因为呢,公司的员工很多,不同的这个员工呢,他这个工作方式呢不太一样,所以我们就给抽象化了,那抽象化以后呢,就意味着说以后呢,你就不要再去造我们这个employee的对象了,呃,你去提供他的子类的对象,那么这时候我们就提供了这个子类了,第一类呢,叫做管理者,管理者哪怕你是公司的这个老大,那他也是一个员工,所以呢,我们也得让他呢去继承于我们的employee啊,这个情况CTRLC。
06:43
这个我们再去创建一个叫manager。让他呢去继承于咱们的employee,那刚写完的话呢,这块就开始报错了,这个错误的信息的原因是什么呀,因为你里边有创方法,对,那这里呢提到说嗯,它呢有一个属性,咱们一点点去完善,属性呢,我们是一个叫奖金。
07:09
Bonus奖金,好,这是一个事儿,然后接下来的话呢,就提到我们说这个负类中抽样方法的问题了,那你要是不去重写我们副类中的抽象方法,那你也得是一个抽象类,那现在呢,咱们就重写一下了,为了让他也可以去实例化了,这个大家呢,直接光标放在这儿呢,你直接点一下就可以了。啊,这呢,我们就写一下,那对于管理者来讲呢,我们说就是呃,这个管理员工。管理员工相当于呢,提高呢,这个公司的运行的效率,运运运行这个效率行,这是它的一个工作,那其他的这个属性或者方法呢,我们就直接来调用这个傅雷中的就可以了,那构造器这块的话呢,如果你想提供的,你可以再去提供一下,比如al shift s构造器,构造器呢,我们先添加一个,只有一个bonus的,你也可以呢,CTR shift auto shift s调构造器这个位置呢,你可以选复类中这个带参的,再加上你这个bonus,这就算四个了。
08:21
1234这样也可以行,这呢我们就算写好了,那接下来的话呢,他又提到了一个叫普通的一个员工啊,就是一线的这个,比如这个生产线上的这样一个员工叫common employee,那这呢,我们也得去创建这样的一个类。这样,那这呢,我们也可以直接呢指明它的这个负类,哎employee哎,这A就表示的是个抽象的行,你看我这样写的话呢,它自动的就帮我们把这个这个你需要重启的这个方法呢,就给你放到这儿了,这也是可以的,这样呢我们就直接输出。
09:00
说这个员工在一线这个车间生产产品。CTRLS行,那这呢,因为你重写了这个复类中的抽象方法了,所以呢,它就不是抽象类了,也可以去实例化了,那这个基本上我们这块关于类的创建呢就完事了,接下来呢,我们就去造一个测试,Employee的一个测试。行,那在这里边的话呢,你就可以去造这个对象了,这时候呢,就明确了一下,不能去这个造employee的对象了,你可以去造这个common和这个manager的这个情况,那我这呢就是manager。等于诶new一个manager out斜杠,你可以呢,使用这个参数比较多的,比如这个管理者,这个叫嗯库克,库克最近应该很难受啊,嗯,这个工资啊,这个公资,他工资应该不低了,他主要是看这个这个这个公司的股票是吧,公司股票多了,到时候董事会到年终呢,给大家就分钱,他好像这个应该是现在应该全球这个职业经理人方面的新待遇应该排的非常靠前的了,前几年的时候啊,应该是特别爽的啊,今年一下就跌到好几年前啊就嗯这个salary salary我写一个简单就写了啊5000,然后bonus的这个奖金呢,这个是呃,5000加个零这样,嗯,像他们的这个工资呢,有的都比较低,像好多公司这个CEO呢,都说啊一块钱工资是吧,关键就看奖金了,就是看他们这个把公司呢,这一年管理的这个情况如何啊,就这种情况,那这呢是一个他然后。
10:52
那我们这个manager点,我可以去调这个方法。第二方法呢,咱们这个叫work方法就OK了。
11:02
哎,没有问题,行,那么这个声明这块,我这呢是直接又声明的是manager,我是不是也可以呢,把这个就改成是employee OK啊那这是什么呀,是不是有多肽了,哎,就是多肽的使用,而且呢,咱们这个抽象类这块呢,这个多肽还确实得用,就是咱们呢去声明一个方法,说明一个方法以后呢,这个方法有个形参,这个形态呢,咱们就写了一个类类型的了,类类型呢,恰好你这个类呢是个抽象类,那这时候呢,是不是必须要用多肽了。对吧,必须要用多肽了,你要是不用多肽,说我这写了个类,你不让我用多肽,那就意味着我只能是用你这个类型的对象了,而你这个类型是不是本身又不能造对象呀?诶,这不就是说,这就是我前面那时候说过这个话啊,说这个多肽这个特性啊,还确实得有,如果要没有的话呢,这个抽象类呢,其实存在就意义不大了,因为我们在方法的时候呢,咱知道多肽这个声明方法这块呢,经常会写成一个负类的类型了,为了使你这个方法呢具有通用性嘛,那你要这时候呢,抽氧类放到这儿了,抽象类本身不能造对象,你还不让他用多肽,那不就废了吗?
12:13
所以说呢,这个呃,多态性它的一个意义呢,你还可以体现为就是抽象这块呢,是有用的。不让他用多肽,呃,不让用多肽抽象就没有意义了。哎,大家体会一下这样一个事情,那么接着呢,你可以再去new一个普通的一个员工,New一个叫common的common这个employee,这个呢,咱们是一个空餐的一个构造器了,那直接呢,你这样调一下就行,哎,Common employee,然后common,诶拿着它,哎你可以呢,让他也去这个调这个work方法行这呢就是咱们这个抽象这块的一个基本的使用的例子。行,没问题。就是在原有的我们继承的基础之上讲的这个知识,大家呢,只需要针对于咱们这里边儿这个负类去做一些修改啊,涉及到抽象类,还有抽象方法的问题,此类这块呢,必要的时候呢,都重写,你就实例化,没有重写完,那你就也是个状类,哎就这样就OK了。
我来说两句