我们可以为 dart setter 方法使用多个参数吗?

Posted

技术标签:

【中文标题】我们可以为 dart setter 方法使用多个参数吗?【英文标题】:can we use more than one parameters for a dart setter method .? 【发布时间】:2020-01-13 03:35:27 【问题描述】:

我们可以在 dart setter 方法中使用更多参数吗?

Dart setter 和 getter 方法。

通常我们使用如下的setter

class Student

     int  _age;
     void set  gettersetter(int a ) => _age=a;  //set method
     void get  gettersetter => _age;            //get method 



void main()

     var stu = Student();
     stu.gettersetter = 2 ;
     print(stu.gettersetter);

我如何使用如下的 setter 方法。

void set gettersetter(int a, int b) => _age=a+b;

【问题讨论】:

setter 方法的目的是让variable = value; 等表达式成为调用setter 的语法糖。在赋值中有多个值是没有意义的,因此 setter 方法接受多个参数是没有意义的。如果要基于多个参数设置变量,则需要使用普通函数。 【参考方案1】:

没有。

setter 允许您在编写o.x = 42 时调用自己的代码。它允许您在没有实际字段的情况下实现(非最终)字段的接口,或者拦截对字段的写入。仅此而已。

如果您希望使用两个参数调用单个方法,则必须使用普通方法 void setAgeSum(a, b) _age = a + b;

【讨论】:

谢谢.. Irn.,感谢您的回答

以上是关于我们可以为 dart setter 方法使用多个参数吗?的主要内容,如果未能解决你的问题,请参考以下文章

Builder设计模式

Java有参构造方法和无参构造方法详解

Dart中类的getter和setter

在 Dart 中使用带有构造函数的 Setter

getter和setter如何在Dart中更改属性?

掌握 Dart 的面向对象基础