在Dart语言中,字段(Field)是类中用于存储数据的成员变量

在Dart语言中,字段(Field)是类中用于存储数据的成员变量。字段可以是实例变量(与类的实例相关联)或静态变量(与类本身相关联)。Dart的字段可以具有访问修饰符,以控制它们在类内外的可见性和可访问性。

字段的基本概念

实例变量:每个对象都有自己的实例变量副本。它们在对象创建时初始化,并在对象销毁时销毁。

静态变量:静态变量与类本身相关联,而不是与类的实例相关联。所有实例共享同一个静态变量。

访问修饰符:

public:默认情况下,字段公共的,可以在类的外部访问。

private:在字段名前加下划线_,使其成为私有字段,只能在定义它的库中访问。

字段的声明和初始化

字段可以在类中直接声明和初始化。Dart支持在声明时初始化字段,也可以在构造函数中进行初始化。

示例代码

dart

class Person

// 公共实例变量

String name;

// 私有实例变量

int _age;

// 静态变量

static int count = 0;

// 构造函数

Person(this.name, this._age) {

count++; // 每次创建实例时,计数器增加

}

// 方法

void introduce() {

print('Hello, my name is $name and I am $_age years old.');

}

}

void main() {

var person = Person('Alice', 25);

person.introduce(); // 输出: Hello, my name is Alice and I am 25 years old.

print('Total persons: ${Person.count}'); // 输出: Total persons: 1

}

字段的访问控制

公共字段:可以直接在类外部访问。

dart

print(person.name); // 输出: Alice

私有字段:只能在定义它的库中访问。

dart

// print(person._age); // 错误:无法在库外部访问私有字段

静态字段:通过类名访问。

dart

print(Person.count); // 输出: 1

字段的封装

Dart中通常使用getter和setter方法来封装字段,以提供对字段的受控访问。这在需要验证或计算字段值时特别有用。

示例代码

dart

class Rectangle {

double _width;

double _height;

Rectangle(this._width, this._height);

// Getter for width

double get width => _width;

// Setter for width

set width(double value) {

if (value <= 0) {

throw ArgumentError('Width must be positive');

}

_width = value;

}

// Getter for height

double get height => _height;

// Setter for height

set height(double value) {

if (value <= 0) {

throw ArgumentError('Height must be positive');

}

_height = value;

}

double get area => _width * _height;

}

void main() {

var rect = Rectangle(10, 20);

print('Area: ${rect.area}'); // 输出: Area: 200

rect.width = 30; // 使用setter

print('New width: ${rect.width}'); // 输出: New width: 30

}

通过使用getter和setter,可以更好地控制对字段的访问和修改,确保数据的完整性和安全性。

特别声明:[在Dart语言中,字段(Field)是类中用于存储数据的成员变量] 该文观点仅代表作者本人,今日霍州系信息发布平台,霍州网仅提供信息存储空间服务。

猜你喜欢

二孩女歌手官宣新恋情,现男友小9岁,身材强壮很合拍,前夫破防(二胎女儿的『明星』️)

在两个月不到的时间里,李嘉格迅速走出了婚姻的阴影,带着两个孩子找到了新的爱情,而这个新男友的出现,不仅让她恢复了幸福感,也让网友对她的情感选择议论纷纷。相比之下,李嘉格与车澈的婚姻,虽然也有过美好时光,…

二孩女歌手官宣新恋情,现男友小9岁,身材强壮很合拍,前夫破防(二胎女儿的『明星』️)

震惊!前TVB花旦自爆与家人断联二十年,遗憾未能为丈夫生小朋友(tvb2020花旦)

在这份光鲜亮丽的背后,却隐藏着她一段充满误解与打击的艰辛历程。 2011年,陈松伶与张铎低调结婚,开始了他们的婚姻生活。如今,她依旧站在舞台上,轻声唱起那些年属于她的经典歌曲,脸上是经历了风霜后的淡然与微…

震惊!前TVB花旦自爆与家人断联二十年,遗憾未能为丈夫生小朋友(tvb2020花旦)

前电视主持丹丹人间清醒,离职后不联系前同事,懂得赚钱养活自己(央视女主持人丹)

站在镜头前,她已经不再是那个在荧屏上闪亮的主持人,而是以全新的身份,亲自走进了自己的生活,面对着创业的每一条新路。她从没有想过要回到过去那种光鲜亮丽的生活,反而更享受现在这份真实与自由。那些曾经在电视节目中看…

前电视主持丹丹人间清醒,离职后不联系前同事,懂得赚钱养活自己(央视女主持人丹)

从铜奔马到“绿马” 文物变潮玩

当千年丝路文物遇上现代潮流的脉动,会演绎出怎样的东方美学?甘肃省博物馆从铜奔马“呆萌”的形象里汲取灵感,将文物特质转化为兼具辨识度与萌感的“绿马”文创,既保留历史元素,又适配年轻人审美,融入人们日常生活。 …

从铜奔马到“绿马” 文物变潮玩

怒赞李昊!这声对不起,怎么就让人瞬间破防了?(李昊生活照)

这声“对不起”,没有华丽的辞藻,没有推卸的借口,却像一记重锤,敲在了无数人的心上。李昊,他跳出了这个精致的利己主义框架,用最直接的方式,完成了一次关于责任的成人礼。他的这声对不起,像一颗石子投入湖心,激起的涟…

怒赞李昊!这声对不起,怎么就让人瞬间破防了?(李昊生活照)