00:00
下面呢,咱们来说一下,这个叫incense of,这呢是一个关键字,这个O呢,记着是小写的,全部都是小写,那么CEE of怎么用呢?我们下边来说一下这个我这样子这样来说一下,这是一个关键字的使用,首先这个怎么用呢?我这样直接来写一个格式了,这个小A叫instance of,写一个大A,这呢叫判断对象小A是否是这个类A的一个实例。判断这个对象,就因为我这个小A呢,它实际上是一个对象的引用了,然后这个大A呢,是一个类型,是不是我们这个大A的一个实例,那如果是返回处,如果不是返回false,这个很好理解,那这块呢,我们就开始具体来举例子来说明了,比如说像刚才的这样一个事儿,我们上来呢,就比较生猛的让他去强转成个woman,结果发现转不成,那我们呢,在转之前呢,你就可以判断一下了,说如果你这时候这个P2啊叫incense of是一个woman。
01:14
哎,如果你要是本质上就是一个女人的话呢,我就给你做一个强转,然后接着让你去购物,我们就加了一个这样的逻辑,为了表示呢,我们这个代码到底有没有执行,我们里边可以加一个输出语句,这呢我就加上几个星,中间呢我写一个五。这样来我们执行一下,大家看这时候呢,没有出异常,也没有出现我们这个c out这个话说明呢,我们这个语句呢,就没有进去,说明他就是个false,也就是呢,我们判断一下这个PR是不是一个女人的时候呢,它不是,所以呢就没有进去,那我们再换一个,我CTRLC一下,我再加个衣服,这呢我改成是一个慢说P2,你是不是个男人,是个男人的话呢,我就给你强转当成是一个男人之后改成一个叫M2。
02:08
啊,这个他也没有这样的功能啊,嗯,这个我们叫阿玛尼保存一下,诶这时候你看就出来了。那说明的话呢,这个时候我们是进去了,那能进去呢,就是因为你P2呢,他其实就是一个男人啊,所以他就是个处,那进而的话呢,我们总结一下,就是为了呢,保证咱们在强转的时候呢,不出现异常,所以呢,咱们在强转之前呢,通常使用ince of呢进行一个判断,这是关于它的一个使用情景。就是为了在使用向下转型之向下转型出现这个class exception的异常。为了避免在向下转型时。出现这个叫class cast exception这样的异常,为了避免出现这样异常,我们在这个向下转型之前,哎,先进行S的一个判断。
03:20
判断说一旦返回处,一旦你返回处了啊,就进行向下转型,那如果是返回false,那就终止向下转型,就是不进行向下转型。因为这时候你再向下转型,那肯定会出现class class exception了,好这呢,就咱们这个in这个关键字的一个使用了,哎,比较清楚,呃,为什么P2就是个男的呢?因为咱们new的时候,他不就是new的一个男的吗?如果你说我用P2,我判断person,这就没啥意思了,P2它它声明就是个person,那你判断它它肯定对呀,对吧,这时候咱们关注的就是你这个P2的一个本质上是一个什么结构,本质上我这边knew的就是个慢嘛,所以说他这个返回的就是一个处。
04:15
就这样子的情况啊,本质上他就是个男的啊,这样行,嗯,再接着说一下,这个咱们还没说完啊,下边说的话呢,也更容易你去理解,嗯,这是它的一个使用情景,另外的话呢,我们说这两个事说呢,嗯,叫如果这个a instance of这个大A呢,返回处。如果a instance of,大V呢,返回处说,则则什么呢?说a instance of这个B呢也返回处说,这时候其中。其中我们这个类B是A的子类还是负类,负类?
05:08
类B是一个负类,也就是说如果比如说咱们这个小A,我instance of,就就拿咱们这个题来说吧,我这个P2呢,Instance of慢,如果它是一个出的话呢,这个慢的副类放到这儿也一定对,那就好比是呢,我我我就简单写一写,在这呢,我们if说我这个PR呢,叫instance of是一个person。这个能进去吧,肯定可以进去,之后改成是叫person,然后呢,我再写一个说if PR instance of object,咱们这个顶级的这个负类能进去吧,肯定可以了,或者换句话说,像像这种,只要你是个对象,判断是不是object是一定是对的。对啊,因为任何一个类的对象都可以作为我们object的一个实例出现嘛,这不多态性吗?嗯,执行,那这呢,这都会出现了,那这个事儿的话呢,大家也要熟悉一下,就只要呢,我们返回它呢,是一个触误的话呢,它的负类呢就都对了,那这个我要是换句话说反过来啊,如果呢,我们这个instead of person是一个true,我们把这个person呢,换成它的一个随便一个子类一定是出马,那就不一定了,那咱们这不就是一个例子吗?你P2明明是个男人,你in instead woman的时候他就不对。
06:35
啊,因为这时候woman跟man呢,他俩之间没有任何关系了,实际上我们knew的就是个慢。哎,刚才这个问题呢,再说一下,就相当于你拗的是一个什么实体啊,就是你拗的是个什么,当我们拿这个P2呢,去判断你是不是这个结构的时候,它一定是一个出,一定是一个出的好,这呢就咱们说的这个叫instance of这个关键字的一个使用,哎大家呢,知道它在什么情况下用,就是我们在使用线下转型的时候呢,之前大家呢,先进行一个判断,然后呢你再向下转型,否则的话呢,就有可能会出现异常。
07:12
行。
我来说两句