Dart在线运行

版本:

所属目录
点击了解高性能代码运行API
运行结果
教程手册
代码仓库
极速运行
终端运行
图形+终端

                        
以下是用户最新保存的代码
测试dart_eval 发布于:2024-11-27 16:11 dart实现的最大椎建立,还有bug 发布于:2024-06-10 23:06 Here is a Flutter implementation of the UI presented in the image you provided. This includes a user profile screen with elements like an avatar, user ID, and buttons for interaction. 发布于:2024-05-16 13:43 阿瓦达我打我打我的 发布于:2024-05-10 14:48 测试用的要什么简介 发布于:2024-04-10 14:20 数组随机数 发布于:2024-02-25 15:24 测试dart特性代码 发布于:2024-02-21 15:36 判断坐标点是否在围栏区域 发布于:2023-11-18 12:02 测试根据数值分组 发布于:2023-11-04 23:05 dart 快速排序 发布于:2024-06-10 19:10 二叉树中序遍历 发布于:2023-04-13 16:12 寻找两个顺序数组的中位数 发布于:2023-03-17 17:47 卡尔曼滤波 发布于:2023-03-02 18:23 my dart training 发布于:2023-02-21 18:35 Dart实现RFID标签写入 发布于:2023-02-01 12:15 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例 1: 输入:l1 = [2,4,3], l2 = [5,6,4] 输出:[7,0,8] 解释:342 + 465 = 807. 示例 2: 输入:l1 = [0], l2 = [0] 输出:[0] 示例 3: 输入:l1 = [9,9,9,9,9,9,9], l2 = [9,9,9,9] 输出:[8,9,9,9,0,0,0,1] 提示: 每个链表中的节点数在范围 [1, 100] 内 0 <= Node.val <= 9 题目数据保证列表表示的数字不含前导零 发布于:2022-12-12 15:43 迷宫图测试功能 发布于:2022-03-16 09:33 Dart Test 发布于:2022-03-07 15:38 Dart 生成过去30天的日期,无论是什么时候 发布于:2021-11-29 10:41 dart学习 发布于:2020-10-10 18:59 dart学习 发布于:2020-10-10 18:59 dart学习 发布于:2020-09-29 14:36 [更多]
显示目录

方法



学习嵌入式的绝佳套件,esp8266开源小电视成品,比自己去买开发板+屏幕还要便宜,省去了焊接不当搞坏的风险。 蜂鸣版+触控升级仅36元,更强的硬件、价格全网最低。

点击购买 固件广场

方法

为对象提供行为的函数叫做方法。

实例方法

对象的实例方法可以访问 this 和实例变量。 以下示例中的 distanceTo() 方法就是实例方法:

import 'dart:math';

class Point {
  num x, y;

  Point(this.x, this.y);

  num distanceTo(Point other) {
    var dx = x - other.x;
    var dy = y - other.y;
    return sqrt(dx * dx + dy * dy);
  }
}
Getter 和 Setter

Getter 和 Setter 是用于对象属性读和写的特殊方法。使用 get 和 set 关键字实现 Getter 和 Setter ,能够为实例创建额外的属性。

class Rectangle {
  num left, top, width, height;

  Rectangle(this.left, this.top, this.width, this.height);

  // 定义两个计算属性: right 和 bottom。
  num get right => left + width;
  set right(num value) => left = value - width;
  num get bottom => top + height;
  set bottom(num value) => top = value - height;
}

void main() {
  var rect = Rectangle(3, 4, 20, 15);
  assert(rect.left == 3);
  rect.right = 12;
  assert(rect.left == -8);
}

最开始实现 Getter 和 Setter 也许是直接返回成员变量; 随着需求变化, Getter 和 Setter 可能需要进行计算处理而使用方法来实现; 但是,调用对象的代码不需要做任何的修改。

提示: 类似 (++) 之类操作符不管是否定义了 getter 方法,都能够正确的执行。 为了避免一些问题,操作符只调用一次 getter 方法, 然后把值保存到一个临时的变量中。

抽象方法

抽象方法只存在于 抽象类 中。 getter, 和 setter 方法可以是抽象的, 只定义接口不进行实现,留给其他类去实现。

定义一个抽象函数,使用分号 (;) 来代替函数体:

abstract class Doer {
  // 定义实例变量和方法 ...

  void doSomething(); // 定义一个抽象方法。
}

class EffectiveDoer extends Doer {
  void doSomething() {
    // 提供方法实现,所以这里的方法就不是抽象方法了...
  }
}

调用抽象方法会导致运行时错误。

由JSRUN为你提供的Dart在线运行、在线编译工具
        JSRUN提供的Dart 在线运行,Dart 在线运行工具,基于linux操作系统环境提供线上编译和线上运行,具有运行快速,运行结果与常用开发、生产环境保持一致的特点。
yout