首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【Flutter】Dart 面向对象 ( 抽象类 | 抽象方法 )

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

作者头像
韩曙亮
发布2023-03-28 21:16:28
发布2023-03-28 21:16:28
74200
代码可运行
举报
运行总次数:0
代码可运行

文章目录

一、抽象类与抽象方法


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

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

代码语言:javascript
代码运行次数:0
运行
复制
abstract class 抽象类名称{
  
}

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

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

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

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

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

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

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

抽象类代码示例 :

代码语言:javascript
代码运行次数:0
运行
复制
// 定义抽象类
abstract class AbstractPerson{

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

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

}

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

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

}

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

}

二、 相关资源


参考资料 :

博客源码下载 :

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-02-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 一、抽象类与抽象方法
  • 二、 相关资源
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档