通常,一个类是扩展的,需要继承此类。这就是大多数Java或其他面向对象的语言中要做的。
但是有时扩展类并不特别容易使用。首先,在某些语言中,某些类被禁止扩展。即使可以扩展,扩展程序后的类是新类,而不是原始父级,因此在使用过程中可能存在某些类型的转换问题过程。
那么,如何在DART中解决此问题?
2.7之后,DART引入了扩展以扩展类方法。
如何扩展?让我们举个例子。
我们可以将字符串转换为int,并调用int的解析方法,如下所示:
但是,通过INT类通常不直观。我们希望在字符串类中提供一种TOINT方法。您可以直接调用并将字符串转换为int。
但是不幸的是,字符串不提供toint方法,因此我们可以通过扩展扩展字符串:
如果此文件的名称是string_to_number.dart,那么我们可以这样使用:
DART中国方法最方便的扩展是,只要您引入相应的LIB,您甚至在使用LIB扩展时都不知道。
当然,并非所有类都可以使用扩展名进行扩展。例如,动态类型不能扩展。
但是使用VAR类型,只要可以推断出这种类型,就可以使用扩展扩展。
由于可以扩大自由B,因此可能会发生API冲突。因此如何解决API冲突?
例如,我们需要使用两个lib扩展名,即extension1.dart和extension2.dart。但是两个扩展文件都定义了parseint方法来展开字符串。
如果同时引用它,将会出现问题。
目前,您可以使用显示或隐藏来限制使用哪些扩展文件的方法。
另一种情况是显示呼叫扩展名,如下所示:
通过扩展名称进行区分。
如果两个扩展名的名称相同,则可以通过前缀区分:
实现扩展非常简单,语法如下:
以下是扩展字符串的示例:
扩展也可以扩展通用参数:
以上实现将扩展到列表,添加Getter,操作符号和拆分方法。
以上是2.7的新功能,即类的扩展。
最受欢迎的解释,最深的干货,最简单的教程,您不知道的许多技巧正在等待您发现!
欢迎注意我的公共帐户:“程序的事情”,了解技术并更好地了解您!