00:00
啊,同学们可能听的有点头晕眼花了哈,一可能其他老师可能讲的没这么多,呃,我讲的可能稍微细了一点。好,我们来过一下吧,面向对象呢,有三大特征,封装、继承、多态,不说了啊,封装的特点以前老师一定讲过封装的本质,它的它的本质就是将数据和对数据的操作放在一起,这就叫封装,然后呢,呃,只有通过被授权的操作才能才能使用,这个就是封装的本质,就说我有很多私有的东西,我不让你改,然后呢,我封装起来。然后通过成员方法才能用,这样我就可以在方法里面加入业务逻辑,控制用户的操作。后面我们学这个会学这个设计,设计模式里面有一个动态代理。就充分的体现出授权操作才能去改写我们这个方法啊,那面会还会对这个封装做一个更深入的了解,好这个我就不说了,因为这个是基础的东西,封装的好处一个是隐藏细节,一个是可以加入数据验证。
01:09
你比如说吧,举一个最简单例子,同学们可以看到。你看在这里,我们在取款的时候,我们就加入业务逻辑了,如果你没有对这在这函数里面对这个对这个进行控制,说你想怎么取钱,其实我这边代码都是有问题的啊,这个地方很危险,别人取钱就直接取了,所以说我理论上说应该把这个地方都做成一个私有的。你不能改啊,这个地方也是不能改。为什么我不让你改呢?因为这个地方就你如果在外面直接改了,取我的钱了,或者改我的密码了,那就了得了,所以说按理说我这边全部都应该做成私有。那不然的话,别人直接直接在你,你不能说一他他就这么干了,上来过后count.balance那就现在可能他已他已经用不了了啊,那原先如果我不做控制,我不做控制。
02:03
对吧,如果我不不做这个这个控制,把这个拿掉,他钱想怎么取就怎么取,那他都不走你这个位置照了。对吧,那是肯定非常危险的一件事情,所以说呢,这个地方我们可以把它加进去啊,加进去他玩不了了,只能走我这个东西啊,只能走我这个东西,好的,那么这边我们也把这个加进去,补充一下数据安全,那体现封装就是对属性封装,通过方法进行控制,好这个也过了好封装的步骤,老师以前在Java里面老师已经讲过封装步骤呢,一般是这样子的,注意听一般是对属性先私有化。然后呢,提供site的一个公公共方法来进行设置值,通过一个get的公用方法来返回值,在site里面呢,我们可以加入适当的业务逻辑,你比如说密码,现在我在这个地方马上做一个扩展啊,来完成一个案例,我们来体验一下封装。那么在盖中如何体现这种类似的操作呢?非常简单,比如说我这里要求大家对这个年龄人的,比如说有个person。
03:11
有个person,那么这个person呢,这个年龄的设置,我我可以让你改年龄,但是这个年龄呢,我要求改的时候是一到只能在一到200之间改这样的代码,大家一看就知道这个意义了。其实是特别简单对吧,我相信同学们都能看懂,就说我这有个person,然后然后呢,我这提供一个set age,但是set age呢,有业务逻辑啊,这就充分体现,你看我这个edge,我就直接写成了私有的,这就体现出它的一种封装的特性啊,封装的特性。好了,嗯,那现在呢,我把刚才讲的这个封装这一部分,呃,先给大家板述一下啊,这个封装因为前面同学们已经很清楚了,所以说我这简单的过了一下,没有做过多的这个这个这个这个再再往里面说的那么细了啊好,同学们,我把这呢给它过一下,面向对象三大特征之封装,我们基本上就给它过了一遍。
04:15
好,来走一下这个地方呢,我们写个标题二,哎,标题二我首先说了一下我们面向对象的三个特性,封装、继承和多肽。哦,封装继承合作态,那么我们先给大家说了一下封装的一个介绍,把这句话记一下就行了。呃,有时候呢,有些面试官,还有有些面试官,他问的不一定都是非常高大上的技术啊,呃,有些同学是将来我们面试的时候问的是不是全都是高大上的。理论上说一定会问高大上的,但是呢,呃,有一些面试官他也偶尔会问一些基本的概念啊,不是说一点基本都不问的,因为我们这个岗位将来大家去找工作的,大家都肯定想找一个最高大上的,技术要高大上的比较去了的。
05:05
都都当架构师是吧,但一般来说不会让你当,所以说人家也知道你有几斤几两。所以说有些同学很担心,找工作的时候说怎么去面试,我告诉大家啊,其实其实你在面试的时候呢,后面老师肯定同学们也说了,面试的时候老师会指导你们,但是我告诉大家,其实。这个真正的有经验的,有经验的这个项目经理,其实很容易看出来,你到底有几几斤几两知道吧,所以有些同学老师,我这个将来找工作的时候,假如我找找到这个工作,人家让我进去了知道吧,嗯,我我要是承担不了这个压力怎么办?一般来讲。面试官只要让你进去了,他就知道你是可以做这个工作的。啊,如果说你你说诶说老师,我当时这个面试的时候,我我把自己说的很牛逼,然后别人才能我已经觉得放放心好了,正常的公司一般都能判断你说的是真的还是假的是吧,也就是说他让你进去,就意味着理论上来说他已经认同你了,你也不用特别担心说说老师我是吹牛进去的。
06:08
一般公司他能判断你到底吹的什么,分了有些公司他发现张三来了,这个家伙有点吹牛,对吧,等到再来一个吹的更厉害,他就会选你知道吗?虽然你现在吹牛,但是吹的没那么厉害,所以说很多学生老在问我一个问题,说然老师我这个找工作,我是稍微的夸大了一点。其实你不用担心别人知道啊,我以我以前找老师的时候,这个老师有几斤几两,其实我很清楚,他可能也比如说我会讲什么讲什么,呃,学生多少多少评价,其实我一听我就知道是什么样子,但是我还让他进来了,其实我知道,因为我让他进来是因为我发现。还可以明白吧,所以你们不用特别担心,说我进去了,过后别人承担不了,一般来讲是可以的,偶尔会有比如说。比如说有些公司里面,他可能会出现就是这个,因为你因为因为你这个压力,因为你的能力不适应,把你排掉的这种可能性会有什么呢?一般来讲也就在控制在10%以内,他让你进来,比如说有两个原因,第一个原因他发现你的能力,你的能力到了,让你进来,这是最正常的,还有一种原因就是你自我感觉这个待遇还可以,但是人家就轻让你进去了,就是什么呢,特别缺人。
07:26
就特别缺人,这个时候单位特别缺人呢,他发现这个人还可以,就直接让你进来了,等到你工作了一周两周过后呢,你的业务已经熟悉了,他想让你走,他也不愿意让你走了,明白吧,有些时候他发现,诶,好像能力还没有到那么我想要的地步,但是呢,你你已经工作那么时间,业务也熟悉了,他一般不会让你走,这是第一个原因,他说你已经熟悉一点了,我再换一个新人,我还得去教他,他也很累。一般这个项目经理和组长,人家也是有家庭的是吧?也想早点下班回家陪老婆孩子是吧?把你带出来过后,他其实不愿意走,除非你的态度特别恶劣。
08:02
就去了过后天天打游戏啊,我以前有个学生好不容易找到一份工作,去了干啥呢?他说他,他说韩说我被开除了,我说干嘛我天天打游戏,那废话,不开除你开除谁啊,对吧?态度还很嚣张对吧,这个不行,那么还有一个原因是什么呢?就是你去了过后,你快速顺应过后项目经理把你招进去,对你要负责任的。比如说我招了一个人被开掉了,其实他有业绩考核,他其实会保你的,知道吧,理论是说谁把你招进去别人,比如人事,让你通过了人事,他是不希望我招一个人就走,招一个人就走,那这样子老板是怎怎么回事,招一个人干了几天就走了,招一个人干了几天。在这喝了一些水就跑了,对吧,那肯定他也不愿意说,他从理论上他也愿意让你留下来,所以大家记住这点啊,不用特别害怕,所以我提到这,有些时候别人问的问题很基本,你也不要觉得这公司很LOW5啊,也会偶尔问那么一两个基本问题,所以说我们概念的要很清晰,好封装我就说到这儿,那紧接着我们说了一下封装的好处和如何体现封装,我给同学们写到这里啊,聊了一下,封装的好处呢,我说了两点,一个是隐藏细节。
09:17
对,第二个呢,可以对数据进行验证安全,当然也可以加入业务逻辑啊,我应该再加一个,同时可以加入业务逻辑,同时可以加入业务逻辑OK,好,如何体现封装呢?在我们这个封装它是怎么实现的呢?一般来讲是这样子,先将属性进行封装,比如说是私有的,然后呢,通过成员方法实现包装好。这是它的一个流程,好,最后呢,我们这呃说了一下,实现在SC里面实现封装的步骤,这个跟Java一样,好,这个呢,我简单的写到这里就可以了。好,实现这个封装的步骤大概呢,就是这么四步啊,朋友们,第一步,私有化。
10:03
第一步,私有化,第二步,提供一个set方法。这个赛的方法呢,主要完成对属性的判断并赋值。好,同时呢,还要提供一个get方法,Get方法呢,一般来讲是用来返回这个值,注意啊,返回这个值呢,有时候也可以加业务逻辑啊,比如说我我在这个有同学们有些时候你们学过那个Java意义,有那个工作流的概念,如果你的权限够了,我才让你返回,对吧,他也可以加业务逻辑进去的啊同学们好,这是我们的这么一个流程,最后呢,我这举了一个简单的案例,这个案例我就不去写了。同学们应该很容易看懂啊,对我们来说没有任何难度,我做了一个快速入门案例啊,做了一个快速入门案例,同学们体验一下啊,快速入门案例啊,这个案例呢,我们是写了一个关于什么呀啊,关于这个查看这个员工年龄的这么一个案例。
11:05
好,这个案例呢,同学们应该是很轻松就能看懂的,好,我把这个封装的这段代码给他拿过来就可以了啊,一起拿过来吧。大家再看一下它是怎么实现的啊,这儿首先呢,它先把它做成一个私有的。啊,不让你在外面直接修改,然后提供一个set方法,里面加入了一堆业务逻辑,就是我你的这个名字应该在这个一到200之间才去修改,否则提示输入数据不合理,再给他一个默认值,那一般可以这样去处理,反这是封装的特点。好,这个对于我们来说太基本了,太基本了,好,那关于封装的这一这一部分介绍呢,我们先说到这里。
我来说两句