• 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中的构造方法更加强大和易于使用,让你更轻松地初始化类的属性。这些功能可以大大简化代码,提高代码的可读性和可维护性。

  • 相关阅读:
    MySQL系列——集群复制方式及原理
    金仓数据库KingbaseES客户端编程接口指南-JDBC(3. JDBC 建立/关闭连接)
    asp.net core mvc 视图组件viewComponents
    el-tree中插入图标并且带提示信息
    收藏:不能不刷的数字后端面试题,含解析
    centos7 怎么让命令行显示中文(英文->中文)
    MySQL limit使用及超大分页问题解决
    环境安装篇 之 golang环境安装
    记录-2023/11/18
    SpringBoot 自定义注解异步记录复杂日志
  • 原文地址:https://blog.csdn.net/wniuniu_/article/details/132860672