gpt4 book ai didi

dart - Dart 构造函数中的花括号有什么作用?

转载 作者:IT王子 更新时间:2023-10-29 07:08:29 24 4
gpt4 key购买 nike

<分区>

这段代码的基本结构是从一个demo中复制过来的,并根据自己的需要进行了调整(针对本题进行了缩减)。

但我对一些事情感到困惑。也许达特专家可以启发我......

import 'package:flutter/material.dart';

// Show policy widget - shows
class ShowPolicy extends StatelessWidget {
final Policy policy;

ShowPolicy(this.policy);

@override
Widget build(BuildContext context) {
return Text('Test text ' + policy.riskName + ' ' + policy.policyNumber);
}
}

// Policy class
class Policy {
final String riskName;
final String policyNumber;

Policy( { this.riskName, this.policyNumber } );
}

// what is this variable doing here?. Shouldn't it be an a class?
List<Policy> allPolicies = [
Policy(riskName: 'Lilly', policyNumber: 'PY123456-4'),
Policy(riskName: 'Lilly', policyNumber: 'PY123456-3'),
Policy(riskName: 'Lilly', policyNumber: 'PY123456-2'),
Policy(riskName: 'Farnesbarnes', policyNumber: 'PY123647-1')
];

所以基本上 ShowPolicy 返回一个文本小部件。它有一个接受 Policy 对象的构造函数。Policy类包含2个成员变量,riskNamepolicyNumber

我的问题是:-

什么拥有最后声明的 allPolicies 变量?为什么在这里允许它,为什么它不必在类中声明?

但我的主要问题是:- 为什么 Policy 类构造函数变量包含在大括号 {} 中?如果我删除它们,Policy 类仍然可以编译,但现在 allPolicies 变量不会(错误消息是“需要 2 个必需参数,但找到 0 个”)

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com