掌握 Dart 的面向对象基础
Posted 熊喵先生
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了掌握 Dart 的面向对象基础相关的知识,希望对你有一定的参考价值。
我们知道在 Dart 中一切都是对象,所以面向对象在 Dart 开发中是非常重要的。此外它还和其他有点不一样的地方,比如多继承 mixin、构造器不能被重载、setter 和 getter 的访问器函数等。
1. 属性访问器(accessor)函数 setter 和 getter
在 Dart 类的属性中有一种为了方便访问它的值特殊函数,那就是 setter、getter 属性访问器函数。
实际上,在 Dart 中每个实例属性始终有与之对应的 setter、getter 函数(若是 final 修饰只读属性只有 getter 函数,而可变属性则有 setter、getter 两种函数)。而在给实例属性赋值或获取值时,实际上内部都是对 setter 和 getter 函数的调用。
1.1 属性访问器函数 setter
setter 函数名前面添加前缀 set,并只接收一个参数。setter 调用语法于传统的变量赋值是一样的。如果一个实例属性是可变的,那么一个 setter 属性访问器函数就会为它自动定义,所有实例属性的赋值实际上都是对 setter 函数的调用。这一点和 Kotlin 中的 setter、getter 非常相似。
class Rectangle
num left, top, width, height;
Rectangle(this.left, this.top, this.width, this.height);
set right(num value) => left = value - width;//使用 set 作为前缀,只接收一个参数 value
set bottom(num value) => top = value - height;//使用 set 作为前缀,只接收一个参数 value
main()
以上是关于掌握 Dart 的面向对象基础的主要内容,如果未能解决你的问题,请参考以下文章