00:00
同学们可以看下面,那么继承给我们带来的便利仍然是提高了复用性,仍然是利于我们的代码的扩展和这个维护性,那么这里面有一个小问题啊,嗯,如果面试官他问。面试官肯定不会问这个实刊继承为什么提高了费用性,这个他不会问。那么如果说面试官问你,为什么我们的继承提高了代码的扩展性和维护性,你可以这样回答。你可以以这个图。的形式,你说因为有了继承,所以说我对,如果我想让这条线。我想让这一条线都同时拥有一个方法,我只需要在A类加一个方法,如果我只需要B和E有一个方法,我在B加一个方法,这样的话呢,我写一段代码,对应的这条线都拥有了相应的方法和属性,诶这样就是我们这个维护性就很高嘛,当然你的扩展性也从这体现出来了。
01:05
所以说我们可以这样子的,就说这样简单的给他回答一下,就是当这样子啊,就是当我们修改,当我们修改父类时啊,父类时,父类时它对应的对应的子类,对应的这个子类,子类就会就会拥有,就会继承相应的方法。相应的方法和这个属性对吧,那当然就提高它的维护性的,而且呢,我们还可以不想让别人用的呢,我们都是私有的,所以说这个继承其实准确的讲,一个提供了我们的复用性,第二个呢,他提对我们的扩展性和我们的维护性呢,也有所提高。讲到这儿,我就多说一句啊,面试官有些有些面试官很喜欢去跟你聊这些东西,你们不要认为面试官一定都是技术最牛的,同学们有些面试官不一定技术是最牛的,你比如说。
02:05
我我以前去面试这个找工作的时候,找工作的时候有当时有一个公司叫叫什么来着。呃,是一个外企,是一个外企叫私人备械啊,是是外企的做那个好像做石油啊,是做石油还是什么的啊,反正就是挺挺挺厉害的,然后呢,他去问,他问的时候呢,有些时候他是临时找了一个人,比如说那个项目经理架构师这几天。不在家,你要出差了,那也该招人,尤其是越需要人的时候,他也不一定是那个技术最牛的,来来来来面试,你为什么正忙着写代码呢,没时间,他有时候说哎,你帮帮我去面一下,就随便盯另一个人,比如说那个有时候没准你你有可能去面试,比如说面试你的你的组长,或者你的这个项目经理这几天出差了,他可能说诶小王,你今天来了一个面试,你帮我去看看技术,所以有时候他不一定是技术最牛的,他可能就会问一下他,因为他有时候他又没不是专业的嘛,他就可能。
03:04
想我我知道的一些概念,他就会临时问一下,因此他也有可能问一些理论的东西啊,所以说你这些东西你要跟他白活一下啊好,第二个呢,我们来看一下子类继承了什么,怎么继承,这是个重点,那我们来看一下这里面有一段代码,这个代码呢,我因为代码比较简单,我就直接给大家拿过来看一下就行了,我们现在来探讨一下思看了。我们现在这这说的都是SC啊,史SC的子类继承了什么?怎么继承的?那么我们首先看一个结论,子类继承了所有属性,只是私有的属性,不能直接访问,而需要公共的方法去访问。这一点呢,我们可以通过debug代码来看,同学们在学Java的时候,老师应该也说过这样的东西,就说子类其实可以把父类的东西都继承下来,但是能不能访问是另外一回事。是不是老师应该讲过这个东西,那么我们为了证明这个呢,我们可以写一段代码来证明,就别人千万不要说来说私有的,私有的其实你在指类里面是其实也是得到了的,但是你干什么就是不能访问,你不能访问的原因是因为它没有提供公证方法,那现在呢,这段代码我们就来给大家写到这了啊同学们,这段代码没有什么技术含量。
04:21
我直接给他拿过来。这个大家理解一下啊,因为这段代码如果在写面特别浪费我们的时间,我们时间比较宝贵。零二。零二这段代码呢,我已然给同学们写好了,我格式化一下代码,诶这个地方,那就干脆把这拿掉。那就把它拿掉好,我们来看一下这段代码,我要说一个什么事,我要通过这段代码来说明,我要这段代码说明什么呢?说明什么呢,就是纸类。纸类就是我们的在石开那中,在石开那中纸类。
05:01
子类他继承了,继承了父类的,父类的所有属性,所有属性,但是啊属性但是私有的不能访问。啊,但是但是私有的就是私有的属性,它无法访问私有的属性和方法,方法无法访问啊,无法访问。无法访问。好,那么我们来证明一下这个事情啊,看这里是一个负类。这是个负类,你也可以认为是个鸡肋。以前老师也讲过啊,这鸡肋也可以叫鸡肋。鸡,鸡类。积累,那么这边呢,我故意把这个三个都写了,有这个默认的,就是不写的protected,有私有的,大家再看到这个protected就知道这个逻辑了啊protected你要知道他其实也对于一个私有的,他提供的方法呢,是也是有相应方法的,这个地方我也写了三种方法。
06:01
是默认的是protected和私有,私有的,那么待会儿我就用这个子类,这地方是一个subject subject这个他继承了,继承了被史。那么我们可以看到,在默认情况下呢,我可以访问到它的N1和N2。就是这个。VAR和电能访问,其实这个访问的本质啊,同学们,这里访问的本质仍然是本质,仍然是this点里面就N1的一个方法。你为什么你能访问,是因为他把这个N1这个他把这个N1这个方法给你整过来了,因为你这个N1他会,因为他会生成那个N,那个N1的和S,就是它会一样的道理啊,会生成这么一个方法。它其实本质仍然是通过方法来访问的,这点大家一定要很清晰,还有一个什么呢?还一个public这个方法,Public这个N1下划线,Dollar EQ啊,他是这样子,所以说你在这啊,这不对啊,这应该是用的这个他他访问的,这访问的本质仍然是访问它的这个方法。
07:12
是从他父类那边整过来的啊,其实是因为继承过来的,我这样写也没没错,这个也是一样的,这个也是一样的,但是你你看这啊,我们去用N3就用不了了,它直接访问不到N3,访问不到N3的原因同学们应该也很清楚的知道,因为你在N3的时候,它生成的,它生成也是生成的这个方法,但是是实有的。对,这样大家应该很清晰知道啊,Private他有个N3,但是你很遗憾你你拿不到,你拿不到就是我们这要讲的东西,他private n3,因为你你在这拿不到这个东西,所以这就访问不到了。啊,这个原因说说完了,那么呃,我们现在呢,这两个都能访问,方法也是一样,周老师这个方法是不一样的呢,你看啊,我在这里有test的100,这两个方法就是跟继承相关的,跟属性不是的,那我现在用test的明白这个它默认默认它的本质就是public test的100,所以说这个方法呢,它就是public。
08:15
所以说你在这个地方用这个T的100是没毛病的。没毛病的,因为public我可以继承下来吗?那么这个地方呢,它这个地方我们待会儿可以看一下它是什么类型。哦,这个我们先画一个问号,先画一个问号,那么这个地方很清晰,它就是private的,因为它是private的,所以说你在这个地方也用不到他这个test的300,你这一用呢,他马上就会报错,他是他说你这个音,呃,Access的就是不可获取,那test的200就是这个方法,咱们能不能用呢?我们看一下是没问题的。这个是没问题的,因为这个方法到底是什么,我们来看一下,在底层它是protected呢还是公有的,我们画一个问号啊,我们画一个问号,好,同学们,现在这个能用的东西我全部说完了,现在我加一个断点在这。
09:09
我加一个断点在这,我加一个断点呢,我们来看看sub它到底有没有把这几个属性都拿到啊,都拿到我运行一下。Debug一下,那么debug完了过后呢,我们可以看到在这个地方会出现一个控制台,我们点开这个sub,我们看到其实都有,而且同学们现在可以非常清晰的看到它这个地方直接写的就是。F。看到没有,所以你看这个N3,其实它其实它也是可以可以可见的,但是你无法访问,因为它是perfect类型的,好我们现在这个就说完啊,就说证明这个其实你都是继承了,但是你没有公共方法,你访问不了,访问不了,那现在呢,我们这样子做一件事情,我们来看一下同学们。
10:00
我们我们来看一下它底层啊,就是把这个问题回答一下,Protected它到底是是不是公有的还是私有的,我们来漏一眼,好,我们来运先运行一下啊,我先我们把这个整个运行一下。我们来看一下,好,这个都访问到了,然后呢,打开这里。好,我们点一下这一个。类,呃,MY里面有一个。先把这个贝找到。同学们可以看到,其实你那里写的protect是不是也变成public了,是这意思吧,所以说这个地方我们可以看到它底层,其实protected呢,你写了过后,他也认为是一个public。他也认为是个帕布,明白这意思吧,好,那当然有些同学就就犯嘀咕了,说老师,那他怎么去用这个其他的机制,在别的地方不能访问呢?比如说你既然是public,理论上说我这样用也是可以的呀。我发布了一个点test test的这个test的这个200也可以,但是我们知道了,我们知道在前面我讲过一个规则,什么规则呢?我说在SC里面protected它的访问权限控制的更严格,他怎么严格呢?即使在同报也无法访问pro protected,呃,Protect就对protected的那个属性和方法,其根本原因就是在这体现出来的。因为。
11:24
他就是这样设计的啊,他这样就是这样设计的,好,同学们这一点呢,大家要要清晰一下啊,好的同学们,那我把这个逻辑给同学们板书到这里,板书到这里啊OK。好,刚才我们讲的这点东西呢,给同学们板书一下。好,我们讲了一下这个内容。继承带来的便利,这个呢,就是给别人白活的时候,给他简单的说两句话啊,说我的对这个继承的好处的一个理解,当然开了此类继承了什么,怎么继承的它的方式再聊了一下。
12:04
聊了一下,走到这儿。好,呃,我们这里面做了一段小小的代码。啊,把这个代码呢,给同学们板书过来。好的,同学们看一下。我把代码呢给同学们写到这儿来。好,然后我把对应的这个图也给同学们截取到这里。啊,这个图我也给大家解决到这里。第八个意向,诶,这个地方代码这个图没有放到这啊。啊,这我再下一个断点,让大家看一下。下个断点。好,然后把这个打开啊,从这呢,我们可以看到,其实N3它也是可以看到的,但是你无法访问啊,从这里可以看到。但是你访问不了。啊,访问不了,因为它是私有的。好。把这。割一下。好,这个呢,就是我们scan的一个继承的111个说明啊,SC一个继承说明,我们截取一段视频。
我来说两句