00:00
下面呢,咱们来看下这个员工,诶员工呢这块呢叫employee,前面呢咱们看到这个关于他们的一个基承结构了,Employee呢是比较顶级的一个类了,下边呢,相应的有他的这个子类,这个programmer它的子类,然后这个design呢,设计师他并不是直接继承于我们的employee了,而是继承programmer啊依次呢是往下纵深的,哎这呢也体现了咱们前面讲这个继承的时候呢,就是它可以这个多层继承,哎,但是你不能说一个类呢它有呃有多个子类也可以啊,但你不能说一个子类有多个父类,这个在咱们Java当中是不允许的,那这个呢是OK的,就是它越往下的这个子类呢,它这个功能呢,它就越是越越越强越丰富,是吧?呃,因为呢,它直接或间接的继承于我们的它的所有的这个副类了,所以副类当中凡是有的这个功能呢,它其实都有啊,而且呢,它还可以对副类的功能进行重写啊,同时呢,它可以增加自己的一些特有的属性和方法啊,行,那咱们呢,就按照这个顺序呢来写,首先呢,先写这个叫employee employee呢员工。
01:00
就这样的四个的属性,哎都是私有的啊,ID name age和salary,其实呢,就对应了咱们这个展示的时候呢,看到的这几个啊,嗯,在这1234就这四个,就这四个行,那咱们呢,首先呢,就来创建一下咱们这里的employee啊,还是呢,在咱们这个抖漫下,哎,我们去新建employee员工,哎提供了相应的这四个的属性都是私有的in特型啊这呢ID呢用成int型了啊,这个后边ID呢,你可以给大家去提供呢,呃,真实开发当中,你看实际情况,有的呢,可能是一个这个这个字串类型的,因为有的时候呢,这个ID里边会再带一些这个abcd,那就得是字符串了,这呢咱们就是一个数值了,所以我这用一个int型来代替了,然后PRIVATE4针形的name。Int型的age和salary啊。
02:01
OK,这呢是四个基本的属性,呃,接下来的话呢,我们再去提供什么呢?这里提到一个构造器,呃,构造器以及对应的这个盖塞的方法,构造器呢,你还可以去提供一个空餐的,前面呢说过了,基本上咱们都会去提供一个空餐的构造器啊,在实际开发当中,好,Out shift s先去提供盖塞的方法,这几个呢,我们就都提供一下,Out shift s加构造器,先来一个空餐的,再来一个代餐的,行,这里边的话呢,我们没有去,呃,这个PPT也没写啊,嗯,那咱们实际的你这个完成的时候呢,你要考虑这个事,就是to率方法。哎测方法,因为呢,咱们在展示的时候呢,你会看到这里边这个信息呢,都显示出来了,它并不是说显示了一下你这个对象的一个地址值了啊,这呢咱们多少呢会考虑到这要重写一下toth润了,但是目前的话呢,咱们可以先不去写啊,因为呢,这时候你twoth润这个这个怎么写,包括我们看下边这个每个情况还都不一样啊,还挺复杂的,这个咱们就暂时呢先空着,等我们后边要用的时候呢,我们再去一点点给它去拼起来,行,暂时呢我们就先写成这样,然后接着呢,提供它的一个直接子类啊,乘以员pro grammar,哎让他呢继承于咱们的employee employee行进来以后的话呢,在employee的基础上呢,他就增加这个属性了,看一下这个这样老师这样看着挺费劲啊,这样下啊,双击这样这样写。
03:38
这里呢,在原有的employee的基础之上,又增加了三个属性,那就一个添加,首先private int型的叫member ID,这个member ID是干什么用的?对团队就是咱们呢,不是给大家添加到这个团队的时候呢,嗯,咱们来来这看一下这个团队列表啊,这呢有个叫TID,对这个TD的话呢,就是用这个member ID来这个表示的啊,表示的是它在开发团队当中的一个ID啊,来开发这个团队中的这个ID,行,然后接着的话呢,又提供了这样的这个属性private,这呢提到了一个类叫做status status呢,它这个变量名呢,也叫做status,嗯,先有个值这个free啊,一看这个样式的话呢,就像是个常量,这个呢来衡量呢,就是这个员工的这个状态,但这不是有一个状态嘛,这个状态的话呢,有这样的几种,这个我们相当于是从后边这个来说的啊。
04:39
就是后边运行的时候呢,就知道了,或者让你看下我们这个PPT里也写着也free,就是空闲状态,Busyz呢,就是这个它已经加到这个某个团队当中了,它就是一个busy了,然后vacationc就是它正在休假啊有这样的三种状态,这呢就提到了一个,实际上这块我们想引入的一个结构叫什么呢?叫做枚举类,哎,但是那个枚举类呢,我们还没有讲。
05:01
在咱们讲的这个课程当中,课件第二部分在这个位置有一个叫枚举类,嗯,枚举类什么意思呢?就是我们这个类里边呢,它就只有有限个对象,而且这有限个对象呢,是确定的啊,那在这里边的话呢,咱们这个state,它其实就相当于是个枚举类,只不过呢,咱们现在还没有讲枚菌类,但是咱们也可以做啊,也可以做这个事儿,这个state呢是个类,它这个类里边呢,有三个对象,三个对象分别对应着就是员工的三种状态,就是他的空闲busy或者是休假状态,这是三个对象,哎,这是三个对象。嗯,后边呢,咱们讲这个枚举类的时候呢,我们再换一种写法,那目前呢,咱们相当于是自定义的方式呢,来去写,嗯,后边呢,咱们也时常的就是当你表现,呃,一个东西的好几种状态的时候呢,咱们都常都通常呢,用类似于像这里边status啊来表示。那咱们后边讲这几类的时候呢,再给大家详细的去说一下,包括到那个时候,咱们可以对这个代码呢,再进行一个修改啊,现在暂时的话呢,我们就这个用咱们已经讲过的这个方式呢来写啊,这个status目前呢,咱们还没有定义,但是呢,我这先先放这一下啊,咱们先把其他的几个呢,先给它完成一下。
06:19
还剩着呢,这个叫private double类型的叫salary,行这呢是这样三个属性,那这块呢,咱们下边呢,把这个status来完成一下,它呢有三个状态,其实呢就相当于是三个对象了,然后我们这个这个它是说在这个service下创建的啊,咱们这块呢,打开这个service,在这里边我们去新建一个叫status。来status,它呢,这个类是咱们自定义的啊,它来表示的就是我们这个员工的一个状态啊,这个员工呢,一共有三种状态,就是对应的这里边的这三个,这个三人叫属性也行,你叫三个对象呢也可以啊行,那我们下面来去完成一下,嗯,怎么去写呢,这里边我们呢去造三个对象,这三个对象呢,我们直接呢,通过这个类呢就可以去调,所以我这生明成一个public啊,通过类可以直接调,所以是个static的,然后呢,这个值呢也不能修改,所以个final的叫status啊,这个呢,这是个常量了,咱就叫做free啊,等于你一个status啊,这就相当于我们去造了个对象了,这呢一共是有三个对象。
07:38
它对应的呢叫busy这个VOC,那这是三个对象,这能理解吧,哎,这是咱们前面呢讲过单例还记得吧。单立的时候呢,是你这个类里边是不是就只有唯一的一个对象啊,对,然后我们这呢叫枚举类,你可以理解成呢,就是它对象不是一个了,在这个问题中是三个,而且呢,只有三个啊,只有三个那就意味着是不是你这个类的构造器也得给人家私有化一下,哎构造器呢还得私有化,哎这样是吧,哎构造器呢还得私有化一下,就是不允许他在外面呢再去造对象了,所以说我们这个呢,就是造了三个沿IG呢,就是像这里边我要是把这两个删掉,这这其实就是单利吧,对,咱们当初讲这个单利模式的时候呢,我记得是在对15的时候,咱们当时第二天复习的时候呢,这不还说过这个事儿吗?诶,因为有同学问过啊,说这个我如果说不去提供一个get方法去获取那个对象,我就直接把这个对象生明成public可不可以,其实也行,你看这里边咱们这种方式,这不就是。
08:56
Public static final的这样的,这其实就可以看成是个单例了嘛,哎,咱们这个问题当中,只不过它不是单例了,它是,呃,你可以理解成叫三例是吧,哎,当然不叫三例了啊,其实叫枚菌,枚菌呢,就意思呢,它就有只有有限额,你可以给它都枚举出来啊,叫有限格的成,那这样的话呢,我们这free busy vocation,呃,就算是三个对象了,但是此时这三个对象呢,它也没有一个什么属性啥的是吧,表示一下你的这个这个这个几个对象的不同,所以这呢,咱们可以再去提供一个私有的,私有的话呢,这个值呢,一旦复制以后也不可修改,所以我加个final是string类型的,叫name这样,然后在这里边啊,这个你要加final了,咱们这块呢,一般就大写了是吧,这个位置呢,咱们来一个叫诶死针类型的,这构造器呢,我给它用一个带参的了,诶z.name哎等于这个name做个赋值,所以这块呢,那咱们就把这个值呢,给它铺一下啊在构造器当中。
09:56
我就叫做一个free,哎,这个呢,就叫做一个busy。
10:05
VOC。行,这个能看懂吧。这个相当于是咱们这不是有三个对象,三个对象呢,每个对象呢,它都有一个属性,呃这个属性呢叫做name,相当于这个呃对象或者叫这个呃变量也行啊,叫对象嘛,这个对象的话呢,我们它的一个属性呢,值就叫B,呃free啊这就叫busy,这个叫VO了,嗯,行,然后这块呢,嗯,你可以去提供我们这个嗯叫name的这个属性归这三个对象,每个对象一一个人一份的啊,这个name的一个方法,这呢就只有get方法啊,因为它这个final的啊,就没有set了。好,这呢,我们就先写成这样,然后再回过来这个status这块呢,我们需要去import一下,Import这时候我们导入的是咱们自己定义的这个啊,Team这个service包下的啊,行,这就搞定了,然后呢,接着这里提供。
11:02
呃,Status equipment,诶这个这写错了是吧,不是它了啊这呢提供的是叫equipment类型的一个equipment。从我们这个成员开始,它就开始有这个设备了,所以这呢,我们把这个设备呢也给它声明出来,接下来呢,提供这个构造器,构造器里边这个ID name edge salary,跟我们前面的这个副类这几个属性是一样的,参数一样,然后多了一个这叫equipment,行,这个我们这样写,Out shift s,嗯,提供构造器这个空餐的也给一个吧,然后呢,Out shift s提供一个代餐的,代餐呢,我们调的super呢是负类代参数这个。啊,调的这个,然后这里边的话呢,这个嗯,Member ID这个不要设备,设备有status status里没有这个都不要,就光要那个他啊OK。按照咱们这个PPT里边的要求来啊,这有五个参数行,然后呢,我们再al shifts给这个相应的这些属性啊,设备啊,Member ID啊,Status啊,添加这个盖的方法,哎,OK。
12:12
行,这个类呢,咱们就搞定了啊,就刚才写这里边一个难点呢,算是咱们这个叫status啊,哎,这个大家稍微关注一下,后面呢,咱们讲了枚举类以后呢,咱们再把这个status给大家再改一下啊,可以改的更简单了就行,这个呢就这样,然后接下来写啊这status啊,咱们再往后写这个叫designer,具体的又是啊成员的一个字类。看第三,然后这块位置你可以直接呢,就给它写上啊,我们的叫pro。Grammar。别来那了,我在这一下在这里。
13:05
Program保存。我这写错了吗?啊,怎么整这了,放到这个15了是吧,在这啊CRL。嗯,把这个删掉啊。CTRLX。看错位,嗯。CTRLC吧。一下把这个删掉。
14:07
剪切不过来是吧,这个我们复制过来,设计师好看这啊,这里边呢,我们又增加了一个属性叫private,诶,这个叫double类型的叫bonus,呃,这个叫奖金行,然后接下来呢,提供了一个构造器auto shift s,首先呢,咱们也是提供一个这个空餐的啊。Honors保存。哎,空餐的这是一个,然后auto shift s再提供这个代餐的调用呢,是它的这个直接负类,这里边的这个属性啊,你看这里边在原有的五个基础上加了个bonus啊,OK,然后auto s加上我们现有的这一个属性的一个盖菜的方法。好,这个呢就行了,然后接下来再提供它的一个直接子类,叫做architect architect啊叫架构师,嗯,在我们这个斗门下新建,哎,这个单词呢,不好写啊,R key ta。
15:16
哎,去继承于我们的这个叫designer。行,然后在这个design的基础之上呢,它又多了一个属性叫做stock股票private in类型的,看stock股票好,Al shift s添加构造器,哎,首先是空餐的al shift s代餐的调用呢,是它的直接附类当中,哎,这个构造器啊,然后再加上它这个stock这个属性,OK,然后加上该方法。行,那目前呢,我们这个类呢,就也写成这样了啊,那这样的话呢,我们就把它的这几个这个employee啊,这个类呢和它的几个子类呢就搞定了啊,目前呢,这里边写的话呢,主要的这个难度呢,就在我们这个status这块呢,大家去理解一下啊行,那这个完成以后,其实后边呢,咱们还是需要对它再进行完善的,那就涉及到呢,我们在展示的时候呢,这个你不能目目前呢咱们试图去调用这个to轮方法,显示的都是地址值了,因为咱们没有重写to string啊,那后边呢,咱们在展示的时候呢,肯定是需要你过来呢,再补充一些,呃,相关涉及到toth string的一些方法啊,到时候呢,咱们再去添加,目前呢咱们就先写成这样。
我来说两句