00:03
那么创建一个一个新文件。就是当我们使用其他人的API或广泛使用的库时呢?更改API通常是确实就是不可能的,但是我们仍希望能够添加一些功能。那么扩展方法呢?为这种设想呢提供了实现的途径,扩展方法允许对已有API进行覆盖或拓展。扩展的成员可以是方法get CR运算符。扩展还可以具有静态字段或静态帮助方法。扩展方法的声明语法首先是ex extension关键字,然后是扩展的名字。呃,加上on关键字,那么后面呢,On后面呢,接着的是你要扩展到力,在画括号里面呢,定义你要扩展的方法或者属性啊。
01:14
例如啊,我们可以对string进行扩展。String包含在核心包里,它自动导入到每个应用程序。The extension。柯展明。
02:02
对嗯,然后加上你要扩展的力尊这个力啊里边呢。我们这个呢,我们覆盖第一个呢,覆盖API原有的成员。有意思啊。覆盖成员名呢,叫他。4NNT这个方法我覆盖这个成面,它是T,返回值为int。
03:07
Pass。NT。然后呢,这里我们不做复杂的处理,我们在原子的解析的值的基础上加一就可以了。例如T店。Pass this,我们使用this来引用使用PASS3T方法的那个值,那个字符串。
04:02
我们使用this来引用当前需要解析的字符串,我们在该值的计算呢加一,然后返回。第二呢,我们给它扩展的。A片,让我们这边的一个。我们就比如说我们这里呢,我们复写原子。
05:00
呃,加上就是从,也就是说重复它。然后呢,我们使用扩散方法。这么等一下。在这里面呢。我们对幺二这个字符串。执行int这个方法。记得现在我们对字符串执行的passt啊,那么将调用扩展方法里边的passt,因为它对原有这里面的帕T这个方法呢进行了覆盖,我们执行一下。
06:16
原来是12啊,那么这里呢,加一就是13。然后我们来就用第二个方法,调用我们为其扩展的方法。仍然是个字符串,让我们点double,这个方法呢是原有,这是原有顺利的API中没有的,这是我们为它扩展的一个方方法,那我们再次运行。那么原来是够呢,我们这里双写它,复写它就是gogo,我们也可以使用扩展名显示调用,扩展名呢显示调用。
07:19
比如说这里仍在打印,这这里我们在,比如说我们这里只能打印。然后呢,我们执行pass string以及这个扩展名,使用括号将值呢,将字符串的值传递给他。然后呢点直线,它中间的方法就是单位,那我们运行一下。啊,那么仍然是有效的。
我来说两句