【Flutter】Dart 面向对象 ( get 方法 | set 方法 | 静态方法 )

2023-03-28 21:16:08 浏览数 (2)

文章目录

  • 一、 get 和 set 方法
  • 二、 静态方法
  • 三、 相关资源

一、 get 和 set 方法


get 方法 : 置私有字段的 get 方法 , 让外界可以访问类对象的私有成员 ;

  • 格式 : 返回值类型 get 方法名 { 方法体 }
  • 代码示例 :
代码语言:javascript复制
  // get 方法 : 设置私有字段 achievement 的 get 方法,
  //            让外界可以访问 Person 对象的 _achievement 私有成员
  int get achievement => _achievement;

set 方法 : 置私有字段的 set 方法 , 让外界可以设置类对象的私有成员 ;

  • 格式 : set 方法名 ( 参数 ) { 方法体 }
  • 代码示例 :
代码语言:javascript复制
  // set 方法 : 设置私有字段 achievement 的 set 方法,
  //            让外界可以设置 Person 对象的 _achievement 私有成员值
  set achievement(int achievement){
    _achievement = achievement;
  }

代码示例 :

代码语言:javascript复制
// 定义 Dart 类
// 与 Java 语言类似, 所有的类默认继承 Object 类
class Person{

  // 定义变量
  String name;
  int age;

  // 私有字段
  int _achievement;

  // 标准构造方法, 下面的方法是常用的构造方法写法
  Person(this.name, this.age);

  // ★ get 方法 : 设置私有字段 achievement 的 get 方法,
  //            让外界可以访问 Person 对象的 _achievement 私有成员
  int get achievement => _achievement;

  // ★ set 方法 : 设置私有字段 achievement 的 set 方法,
  //            让外界可以设置 Person 对象的 _achievement 私有成员值
  set achievement(int achievement){
    _achievement = achievement;
  }

  // 重写父类的方法
  @override
  String toString() {
    return "$name : $age";
  }
}

二、 静态方法


使用 static 关键字标识的方法是静态方法 ;

静态方法可以使用 类名.静态方法名 进行调用 , 不必通过对象调用 ;

静态方法示例 :

代码语言:javascript复制
// 定义 Dart 类
// 与 Java 语言类似, 所有的类默认继承 Object 类
class Person{

  // 定义变量
  String name;
  int age;

  // 私有字段
  int _achievement;

  // 标准构造方法, 下面的方法是常用的构造方法写法
  Person(this.name, this.age);

  // get 方法 : 设置私有字段 achievement 的 get 方法,
  //            让外界可以访问 Person 对象的 _achievement 私有成员
  int get achievement => _achievement;

  // set 方法 : 设置私有字段 achievement 的 set 方法,
  //            让外界可以设置 Person 对象的 _achievement 私有成员值
  set achievement(int achievement){
    _achievement = achievement;
  }

  // ★ 静态方法 , 通过类名调用
  static log(){
    print("log");
  }

  // 重写父类的方法
  @override
  String toString() {
    return "$name : $age";
  }
}

三、 相关资源


参考资料 :

  • Flutter 官网 : https://flutter.dev/
  • Flutter 开发文档 : https://flutter.cn/docs ( 强烈推荐 )
  • 官方 GitHub 地址 : https://github.com/flutter
  • Flutter 中文社区 : https://flutter.cn/
  • Flutter 实用教程 : https://flutter.cn/docs/cookbook
  • Flutter CodeLab : https://codelabs.flutter-io.cn/
  • Dart 中文文档 : https://dart.cn/
  • Dart 开发者官网 : https://api.dart.dev/
  • Flutter 中文网 ( 非官方 , 翻译的很好 ) : https://flutterchina.club/ , http://flutter.axuer.com/docs/
  • Flutter 相关问题 : https://flutterchina.club/faq/ ( 入门阶段推荐看一遍 )

博客源码下载 :

  • GitHub 地址 : https://github.com/han1202012/flutter_app_hello ( 随博客进度一直更新 , 有可能没有本博客的源码 )
  • 博客源码快照 : https://download.csdn.net/download/han1202012/15382731 ( 本篇博客的源码快照 , 可以找到本博客的源码 )

0 人点赞