【Flutter】Dart 面向对象 ( 抽象类 | 抽象方法 )

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

文章目录

  • 一、抽象类与抽象方法
  • 二、 相关资源

一、抽象类与抽象方法


抽象类 不能创建实例对象 , 其作用是用于定义接口 ;

定义抽象类 : 使用 abstract 关键字定义抽象类 , 格式如下 :

代码语言:javascript复制
abstract class 抽象类名称{
  
}

抽象类中既可以包含没有方法体的方法 , 又可以包含有方法体的方法 ;

抽象方法 : 没有方法体的方法称为抽象方法 , 没有关键字定义 ;

抽象类不一定有抽象方法 , 抽象类中可以定义抽象方法 , 也可以不定义 ;

如果类中有抽象方法 , 必须将该类标为抽象类 ;

抽象类可以没有抽象方法 , 有抽象方法的一定是抽象类 ;

抽象类子类 : 抽象类的子类既可以是 抽象类 , 又可以是 普通类 ;

  • 普通类 : 如果普通的类继承抽象类 , 必须实现抽象类的抽象方法 ;
  • 抽象类 : 如果抽象类继承抽象类 , 则 不必实现父类抽象方法 ; ( 不强制实现 , 可以实现 )

抽象类代码示例 :

代码语言:javascript复制
// 定义抽象类
abstract class AbstractPerson{

  // 抽象类中可以定义没有方法体的方法
  void log();

  // 抽象类中可以包含有方法体的方法
  void log2(){
    print("AbstractPerson");
  }

}

// 继承抽象类 , 必须实现抽象类中的抽象方法
class Student3 extends AbstractPerson{

  @override
  void log() {
    print("Student3");
  }

}

// 抽象类继承抽象类 , 不必实现抽象类中的抽象方法
abstract class Student4 extends AbstractPerson{

}

二、 相关资源


参考资料 :

  • 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 人点赞