DART构造函数方式六

import 'dart:core';

class Point {
  final num? x,y;
  //static final Point point = const Point(0,0);
  const Point(this.x,this.y); //常量构造函数
}

void main() {
  var p1 = const Point(1, 1);
  print('${p1.x},${p1.y}');

  var p2 = const Point(1,1);
  print('${p2.x},${p2.y}');

  var p3 = const Point(0,0);
  print('${p3.x},${p3.y}');

  print(identical(p1,p2));
  print(identical(p1,p3));

 
}

这段Dart代码定义了一个名为Point的类,并且展示了如何创建这个类的实例以及如何打印它的属性。以下是代码的详细解释:

导入核心库:
import ‘dart:core’;:这是Dart语言的核心库,它提供了最基础的功能,比如基本的数据类型和集合。

定义Point类:
class Point:这是类的定义。
final num? x, y;:这是类中的两个属性,分别表示点的横坐标和纵坐标。final关键字表示这些属性一旦被初始化就不能再被更改。?表示这些属性可以是null。
const Point(this.x, this.y);:这是一个常量构造函数,用于创建Point类的实例。由于使用了const关键字,这个构造函数只能创建常量实例,即创建后实例的值不能再被更改。

main函数:
void main():这是Dart程序的入口点。
var p1 = const Point(1, 1);:创建了一个Point类的常量实例p1,并给它赋值了横坐标1和纵坐标1。
print(‘ p 1. x , {p1.x}, p1.x,{p1.y}’);:打印p1实例的坐标。
var p2 = const Point(1,1);:创建了另一个Point类的常量实例p2,并给它赋值了横坐标1和纵坐标1。
print(‘ p 2. x , {p2.x}, p2.x,{p2.y}’);:打印p2实例的坐标。
var p3 = const Point(0,0);:创建了另一个Point类的常量实例p3,并给它赋值了横坐标0和纵坐标0。
print(‘ p 3. x , {p3.x}, p3.x,{p3.y}’);:打印p3实例的坐标。
print(identical(p1,p2));:检查p1和p2是否是同一个实例。由于它们都是常量实例,它们在内存中是唯一的,所以这个表达式将输出false。
print(identical(p1,p3));:检查p1和p3是否是同一个实例。由于它们都是常量实例,并且它们的坐标值相同,所以这个表达式将输出true。

  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值