带你读《深入浅出Dart》八、继承

简介: 带你读《深入浅出Dart》八、继承

八、继承

1. 继承的概念和用途

在面向对象编程中,继承是一种能够创建新类的方式,我们可以在新类中添加新的方法和字段,也可以对父类的方法进行覆写或扩展。

2. 子类和父类

在 Dart 中,我们可以使用 extends 关键字来创建一个子类:

 

class Animal {
  void eat() {
    print('Eating...');
  }}
class Cat extends Animal {
  void meow() {
    print('Meow...');
  }}
var cat = Cat();
cat.eat();  // 输出 Eating...
cat.meow();  // 输出 Meow...

 

在这个例子中,Cat 类是 Animal 类的子类,因此 Cat 类的对象可以访问 Animal 类的所有公有方法。

3.使用super关键字访问父类

在 Dart 中,我们可以使用 super 关键字来访问父类的方法:

class Animal {
  void eat() {
    print('Eating...');
  }}
class Cat extends Animal {
  void eat() {
    print('Cat eating...');
    super.eat();
  }}
var cat = Cat();
cat.eat();  // 输出:// Cat eating...// Eating...

 

在这个例子中,Cat 类覆写了 Animal 类的 eat 方法,并在 Cat 类的 eat 方法中使用 super.eat() 来调用 Animal 类的 eat 方法。

4.方法覆写

如果子类和父类有同名的方法,那么在子类中的方法会覆写父类中的方法:

 

class Animal {
  void eat() {
    print('Eating...');
  }}
class Cat extends Animal {
  @override
  void eat() {
    print('Cat eating...');
  }}
var cat = Cat();
cat.eat();  // 输出 Cat eating...

 

使用@override注解,在 Dart 中,我们可以使用 @override 注解来表示子类的方法覆写了父类的方法。这是一种良好的编程习惯,可以提高代码的可读性。

 

相关文章
|
机器学习/深度学习 算法 搜索推荐
精确率(Precision)和召回率(Recall)
精确率(Precision)和召回率(Recall)是用于评估分类模型性能的指标。它们通常用于二分类问题,例如判断一个样本是正例(Positive)还是负例(Negative)。
8117 0
|
网络安全 数据安全/隐私保护
basic-ftp 550 Can't check for file existence
basic-ftp 550 Can't check for file existence
|
虚拟化
安装OpenStack问题
Testing if puppet apply is finished:
4885 0
|
存储 NoSQL 关系型数据库
【赵渝强老师】什么是NoSQL数据库?
随着大数据技术的兴起,NoSQL数据库(Not Only SQL)得到广泛应用。它不局限于二维表结构,允许数据冗余。常见的NoSQL数据库包括Redis、MongoDB和HBase。Redis是基于内存的高性能数据库,采用单线程模型和多路复用I/O,支持高效的数据结构。MongoDB使用BSON格式存储文档,查询语言强大,类似关系型数据库。HBase基于HDFS,适合数据分析,采用列式存储,支持灵活的列族设计。视频讲解及更多内容见下文。
741 79
|
数据采集 机器学习/深度学习 人工智能
智能运维在IT管理中的实践与探索
【10月更文挑战第21天】 本文深入探讨了智能运维(AIOps)技术在现代IT管理中的应用,通过分析其核心组件、实施策略及面临的挑战,揭示了智能运维如何助力企业实现自动化监控、故障预测与快速响应,从而提升整体运维效率与系统稳定性。文章还结合具体案例,展示了智能运维在实际环境中的显著成效。
594 133
|
8月前
|
JavaScript 前端开发 API
淘宝店铺阿里旺旺采集工具,连接批量转旺旺ID,用Js接口实现效果
以下是淘宝店铺阿里旺旺采集工具的JS实现代码,包含批量获取店铺旺旺ID功能,当然仅
|
存储 分布式数据库 数据库
Hbase学习二:Hbase数据特点和架构特点
Hbase学习二:Hbase数据特点和架构特点
630 0
|
人工智能 机器人 vr&ar
Midjourney高效使用技巧总结(二)
这篇文章总结了Midjourney AI绘画工具的高效使用技巧,包括常用指令/参数、实操案例和参考网站,帮助用户更好地掌握如何使用Midjourney进行艺术创作。
Midjourney高效使用技巧总结(二)
|
机器学习/深度学习 前端开发 计算机视觉
【YOLOv10改进-特征融合篇】EVC(Explicit Visual Center): 中心化特征金字塔模块 | 小目标
YOLO目标检测专栏探讨了对YOLO框架的创新改进,如中心化特征金字塔(CFP)。CFP引入了空间显式视觉中心方案和全局集中特征规范,通过轻量级MLP与并行视觉中心机制强化特征表示,尤其利于小目标检测。在YOLOv5和YOLOX基础上,CFP实现性能提升。相关代码示例展示了EVCBlock的结构,整合了LVCBlock和LightMLPBlock。更多详情和配置参见[YOLO基础解析+创新改进+实战案例](https://blog.csdn.net/shangyanaf/category_12303415.html)。