(2)定义一个长方体类,有三个属性:长、宽、高 定义一个只有初始化列表的命名有参构造函数 分别定义两个getter方法,求表面积和体积。 分别定义3个setter方法,获取长、宽、高 定义输出方法,输出长、宽、高以及表面积和体积 主函数中使用命名有参构造函数创建一个对象,并输出;调用setter方法得到长、宽、高,并输出。
时间: 2023-12-20 17:03:28 浏览: 78
行业文档-设计装置-一种长方体栅状净菜放置篮.zip
请看以下 Dart 代码实现:
```dart
class Cuboid {
double _length;
double _width;
double _height;
Cuboid(this._length, this._width, this._height);
Cuboid.fromDimensions({required double length, required double width, required double height})
: _length = length,
_width = width,
_height = height;
double get surfaceArea => 2 * (_length * _width + _width * _height + _height * _length);
double get volume => _length * _width * _height;
set length(double value) => _length = value;
set width(double value) => _width = value;
set height(double value) => _height = value;
void printProperties() {
print('Length: $_length');
print('Width: $_width');
print('Height: $_height');
print('Surface area: ${surfaceArea}');
print('Volume: ${volume}');
}
}
void main() {
final cuboid = Cuboid.fromDimensions(length: 2.0, width: 3.0, height: 4.0);
cuboid.printProperties();
cuboid.length = 5.0;
cuboid.width = 6.0;
cuboid.height = 7.0;
cuboid.printProperties();
}
```
在上面的代码中,我们首先定义了一个名为 `Cuboid` 的长方体类,它有三个私有属性 `_length`、`_width` 和 `_height`,分别表示长、宽和高。我们通过命名构造函数 `Cuboid.fromDimensions()` 来创建对象,并使用初始化列表来初始化属性。然后,我们定义了两个 getter 方法 `surfaceArea` 和 `volume`,用于计算长方体的表面积和体积。我们还定义了三个 setter 方法 `length`、`width` 和 `height`,用于设置长方体的长、宽和高。最后,我们定义了一个输出方法 `printProperties()`,用于输出长方体的长、宽、高以及表面积和体积。
在 `main()` 函数中,我们使用命名有参构造函数 `Cuboid.fromDimensions()` 创建了一个长方体对象 `cuboid`,并输出了它的长、宽、高、表面积和体积。然后,我们使用 setter 方法 `length`、`width` 和 `height` 分别设置了长方体的长、宽和高,并再次调用了输出方法 `printProperties()` 来输出长方体的新属性和更新后的表面积和体积。
阅读全文