• dart 学习 之 在 构造方法中使用 this


    Dart中,你可以在构造方法中使用this.propertyName的方式来为类的属性赋值,这是一种方便的语法糖,有助于简化代码。下面我会详细解释你提供的示例中的几种情况。

    基本构造方法:

    class MyColor {
      int red;
      int green;
      int blue;
    
      MyColor(this.red, this.green, this.blue);
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这个示例中,我们定义了一个名为MyColor的类,该类有三个整数属性:red、green和blue。构造方法中使用了this.red、this.green和this.blue,它们用于将传入的参数值分配给类的属性。这意味着你可以通过传递参数值来创建MyColor对象,而不需要显式编写属性分配代码。

    final color = MyColor(80, 80, 128);
    
    • 1

    在这里,我们创建了一个color对象,并传递了三个整数值,这些值将分别分配给red、green和blue属性。

    命名参数:

    class MyColor {
      int red;
      int green;
      int blue;
    
      MyColor({required this.red, required this.green, required this.blue});
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这个示例中,我们定义了一个名为MyColor的类,构造方法使用了命名参数。这些参数被标记为required,这意味着创建对象时必须提供这些参数值,它们用于将传入的参数值分配给类的属性。使用命名参数使得创建对象时可以更加清晰地指定属性的值。

    final color = MyColor(red: 80, green: 80, blue: 80);
    
    • 1

    在这里,我们创建了一个color对象,并使用命名参数来指定red、green和blue属性的值,使得代码更易读和维护。

    默认值:
    如果你想为属性提供默认值,你可以在构造方法中使用可选参数,并为这些参数指定默认值。下面是两种方式:

    // 使用方括号表示可选参数
    MyColor([this.red = 0, this.green = 0, this.blue = 0]);
    
    // 使用花括号表示可选参数
    MyColor({this.red = 0, this.green = 0, this.blue = 0});
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这两种情况下,如果创建对象时没有为属性提供值,它们将自动被设置为默认值(这里是0)。这使得对象的创建更加灵活,你可以选择性地指定属性的值。

    这些技巧都使Dart中的构造方法更加强大和易于使用,让你更轻松地初始化类的属性。这些功能可以大大简化代码,提高代码的可读性和可维护性。

  • 相关阅读:
    最大流与最小费用最大流简略版)
    读书笔记:《指标陷阱》
    如何借助CDC快速实现实时数据传输?
    HTML导航栏二级菜单(垂直、水平方向)
    读取excel
    API低代码开发应用场景
    c++ cin 简单用法
    卡尔曼滤波算法的五大核心公式含义
    【发表案例】网络智能类SCI&EI,仅25天录用,录用后15天见刊,见刊后16天检索
    Webview+Viewpager左右滑动冲突
  • 原文地址:https://blog.csdn.net/wniuniu_/article/details/132860672