Mat*_*ard 7 inner-classes dart flutter
//access to a Constant if it was like another language
ImageWeather.Desktop.cloud;
//What i wanted ( not working because there is no inner class)
class ImageWeather {
class Desktop {
static const String cloud = 'assets/images/DesktopCloud.png';
static const String noCloud = 'assets/images/DesktopNoCloud.png';
static const String rain = 'assets/images/DesktopRain.png';
}
class Phone{
static const String cloud = 'assets/images/PhoneCloud.png';
static const String noCloud = 'assets/images/PhoneNoCloud.png';
static const String rain = 'assets/images/PhoneRain.png';
}
}
//access to a String like an inner class with new code
ImageWeather.desktop.cloud;
class ImageWeather {
static final Desktop desktop = Desktop();
static final Phone phone = Phone();
}
class Desktop {
get cloud => 'assets/images/DesktopCloud.png';
get noCloud => 'assets/images/DesktopNoCloud.png';
get rain => 'assets/images/DesktopRain.png';
}
class Phone {
get cloud => 'assets/images/PhoneCloud.png';
get noCloud => 'assets/images/PhoneNoCloud.png';
get rain => 'assets/images/PhoneRain.png';
Run Code Online (Sandbox Code Playgroud)
}
我目前正在学习 Dart,我发现我无法使用内部类。有没有办法在 Dart 中写类似内部类的东西?
使用内部类是好是坏是主观的。不同的开发者会有不同的看法。
但是,如果您希望使Desktop和Phone只对 可见ImageWeather,您可以在单个包中编写这三个类,并重命名“内部”类_Desktop和_Phone,从而使它们只在该包中可见。
| 归档时间: |
|
| 查看次数: |
3615 次 |
| 最近记录: |