用户登录

泛型就是带参数的类型。泛型的参数要放在一组尖括号里,参数的名字一般用一个大写的字母表示,比如 E,T,S,K,V 等等。也就是泛型不是一个具体的类型,它表示的类型要根据交给它的参数类型才能最终确定。

现在这里有一个类,我们可以在这个类上面用一个泛型,名字的后面用一组尖括号,然后是类型参数的名字,比如 T,这个名字一般都会使用一个大写字母。

然后在这个类里面,添加一个属性,类型是 T,属性的名字是 engine, 再添加一个构造方法,添加一个 this.engine。这样会把构造方法参数的值交给 engine 这个属性。

下面再定义一个类,名字是 V8,假设它是一种引擎,里面添加一个 int 类型的属性,名字是 horsepower。 添加一个构造方法,给它提供一个 this.horsepower。

在应用的入口这里,声明一个变量,名字叫 engine,新建一个 V8,提供一个 int 类型的值。 下面再创建一个 Car 的实例,声明一个变量,名字是 defender ,新建一个 Car,把上面的这个 engine 交给它。

然后我们再试着输出 defender 里的 engine,再输入一个点,你会发现这里提示这个 engine 里面有一个属性叫 horsepower。因为这里这个 engine 属性的类型是 V8,所以编辑器知道它里面的属性还有方法。

运行一下应用,在控制台上输出了一个 518。

鼠标放在这个 defender 的上面,提示它的类型是一个 Car,因为创建这个 defender 的时候,给它提供的 engine 的类型是 V8。

Dart 语言:泛型《 Dart 语言:类 》

统计

15260
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点