flutter的with、implements、extends区别

90 篇文章 4 订阅
订阅专栏

1.首先从flutter的三种类型定义讲起:class(类)、abstract class(抽象类)、 Mixin(混入)

dart里面没有接口的类型,同时也是单继承语言。class和abstract class与java中的差不多,这里不多说,重点讲一下Mixin。编写成mixin的类,能很好的对代码进行复用,也能让dart实现“伪多重继承”,同时又不会造成多重继承导致的菱形问题

2.dart的with、implements、extends

extends:能重写父类属性或者方法,同时能通过super引用父类field

implements:必须重写所有属性和方法,且无法调用父类field

with:无需super关键字能直接调用父类方法或者属性

3.例子对比

void main() {
  Vector vector = Vector();
  Vector2 vector2 = Vector2();
  Vector3 vector3 = Vector3();
  vector.paint();
  vector2.paint();
  vector3.paint();
}

class Painter {
  int line = 0;
  paint() {
    print('$line');
  }
}

class Vector extends Painter {
  @override
  int get line => super.line + 1;
  @override
  paint() {
    print("$line");
  }
}

class Vector2 implements Painter {
  @override
  int line;

  @override
  paint() {
    print("$line");
  }
}

class Vector3 with Painter {}

4.控制台输出

5.dart中尝试菱形伪继承

提示:The class ‘Vector3’ can’t be used as a mixin because it references 'super’

6.结论

从图1的控制台输出可以看出继承能重写field并引用父类field,实现implements则无法使用super获取父类属性,只能重写,混入能直接复用父类所有属性和方法。

Flutter Dart语法(1)_extendsimplements 、 with的用法与区别
m0_66070694的博客
01-07 421
extends -> mixins -> implements extens在前,mixins在中间,implements最后,接下来看具体的例子。 1. 继承(extends) Flutter中的继承和Java中的继承是一样的: Flutter中的继承是单继承 构造函数不能继承 子类重写超类的方法,要用@override 子类调用超类的方法,要用super Flutter中的继承也有和Java不一样的地方: Flutter中的子类可以访问父类中的所有变量和方法,因为Flutter中没有公
Flutter 接入 PayPal Checkout with OrderId
weixin_44936504的博客
11-29 493
​建议接入PayPal前,一定要了解Payay的支付流程有两种,分别是Client-side integration 和Server-side integration,我就因为一开始没有了解就去撸代码吃了不少苦头,后面发现和服务端接入的不是同一个流程,白干了!!!。
Flutter Dart语法(1):extendsimplements 、 with的用法与区别
weixin_34259159的博客
01-23 2707
Flutter中,有如下三种关系: 继承(关键字 extends) 混入 mixins (关键字 with) 接口实现(关键字 implements) 这三种关系可以同时存在,但是有前后顺序: extends -> mixins -> implements extens在前,mixins在中间,implements最后,接下来看具体的例子。 1. 继承(extends) Flu...
Flutter浅谈extendsimplements、with、extension
油焖茄子 的博客
03-08 1033
Flutter浅谈extendsimplements、with、extension
Flutter开发Dart 中的 mixin、extendsimplements
最新发布
我叫柱子哥
07-24 991
在 Dart 中,mixin、extendsimplements 是面向对象编程中常用的关键字,它们分别用于不同的继承和实现方式。理解它们的用法和区别对于编写高质量、可维护的 Dart 代码至关重要。本文将详细介绍这三个关键字的用法,并通过实例展示它们在实际编程中的应用。
Flutter extendsimplements 、 with的用法与区别
大灰狼的小绵羊哥哥的博客
06-19 1800
Flutter中,有如下三种关系: 继承(关键字 extends) 混入 mixins (关键字 with) 接口实现(关键字 implements) 这三种关系可以同时存在,但是有前后顺序: extends -> mixins -> implements extens在前,mixins在中间,implements最后,接下来看具体的例子。 1. 继承(extends) Flutter中的继承和Java中的继承是一样的: @override super Flutter..
Flutter 之 Dart语言知识点七 混入with
a136447572的专栏
05-17 398
Flutter 之 Dart语言知识点七 混入with
Flutter 核心原理 - UI 框架(UI Framework)
csdn_aiyang的博客
03-14 2508
Flutter 它提供了一套Dart API,然后在底层通过OpenGL这种跨平台的绘制库(内部会调用操作系统API)实现了一套代码跨多端。由于Dart API也是调用操作系统API,所以它的性能接近原生。
flutter_test_dio.zip
12-31
class MockDio extends Mock implements Dio {} void main() { test('测试GET请求', () async { final mockDio = MockDio(); when(mockDio.get('https://api.example.com/data')) .thenAnswer((_) async => ...
Flutter开发自定义Plugin的方法示例
08-25
public class FlutterNativeLogPlugin implements MethodCallHandler { / Plugin registration. */ public static void registerWith(Registrar registrar) { final MethodChannel channel = new MethodChannel...
Flutter run、attach 调试秒连,规避日志问题
star_nwe的博客
04-02 610
Flutter IDE 调试与手机建立连接,是通过检测 logcat 输出,过滤终端运行的引擎 observatory 调试服务端口链接日志
Flutter Mixins(with)
马志武的博客
06-06 1222
混入 mixins (关键字 with) Flutter 使用的是 Dart 支持 Mixin ,而 Mixin 能够更好的解决多继承中容易出现的问题,如:方法优先顺序混乱、参数冲突、类结构变得复杂化等等。 混入的原则是:相同方法被覆盖了,并且 with 后面的会覆盖前面的。 下面代码 一目了然 main(){ print("------main start--------"); D d = new D(); d.a(); d.b(); d.c(); print("------mai
Flutter弹框封装, 使用with
勤奋的年轻人
01-06 513
弹框使用了混合with 混合就是将一个类的实力给这个widget
Flutter copyWith
Leove的专栏
09-08 1388
copyWith 表示复制原来的对象,并可以在原来的基础上修改。 copies and creates a completely new instance of XXXWidget
flutter——copyWith用法
z15267429952的博客
01-26 493
【代码】flutter——copyWith用法。
Dart中with的用法
qiangsoftnet的博客
01-17 624
Mixins 是一种实现多重继承功能的机制,虽然Dart本身只支持单继承,但是通过`with`关键字,一个类可以包含多个类的行为而不需要多层继承。- `DerivedClass` 继承了 `BaseClass` 并且使用 `with` 关键字混入了 `Mixin1` 和 `Mixin2` 的所有非私有成员。- 混入进来的 `mixinMethod1` 和 `mixinMethod2` 成为了 `DerivedClass` 的一部分,可以直接被该类实例调用。// 可以直接调用混入的Mixin中的方法。
flutterandroid原生区别
06-28
总的来说,FlutterAndroid原生开发的区别在于开发语言、UI实现方式和跨平台能力。Flutter使用Dart语言,UI自绘,可以跨平台运行;而Android原生开发使用Java或Kotlin语言,依赖于操作系统的原生控件和API,只能在...
写文章

热门文章

  • Android 图片旋转实现的两种方法的比较 15908
  • Android 跳转系统浏览器的方法 10136
  • Flutter - 加载网络图片的几种方式 10018
  • Flutter 页面之间传参— —pushNamed 9693
  • 微信小程序 居中、居右、居底和横向、纵向布局,文字在图片中间,网格布局 9601

分类专栏

  • Flutter 90篇
  • 单片机
  • python 1篇
  • MySQL 3篇
  • 微信小程序 6篇
  • java 1篇
  • Dart 2篇
  • 网络编程 5篇
  • Git 5篇
  • Android 124篇
  • 文章技术合集 2篇
  • kotlin 2篇
  • Java Spring Boot 1篇
  • Docker 10篇
  • Php 1篇
  • IOS 1篇

最新评论

  • Flutter在Windows上的数据库支持

    CSDN-Ada助手: 不知道 MySQL入门 技能树是否可以帮到你:https://edu.csdn.net/skill/mysql?utm_source=AI_act_mysql

  • flutter中当CustomScrollView嵌套ListView或其他瀑布流插件时滚动不一致与显示错误

    MixLin0423: physics: const NeverScrollableScrollPhysics(),是一个好方法,但是如果SingleChildScrollView里面的内容超出了,就不显示了,所以还是没解决

  • 微信小程序与java实现websocket长连接

    djh512518: wx.connectSocket始终链接不上,是必须要正式服务器的地址吗,本地开发环境的地址不能使用?

  • android 手机和平板如何适配

    普通网友: 写的真好,细节很到位!【我也写了一些相关领域的文章,希望能够得到博主的指导,共同进步!】

  • 微信小程序 居中、居右、居底和横向、纵向布局,文字在图片中间,网格布局

    小小只123: 感谢大佬分享好文,学到了不少新知识,支持大佬,期待大佬持续输出优质文章!

大家在看

  • KASan部署、使用与原理分析 379
  • 【Canvas与色彩】八个多彩圆角菱形
  • 前端摸小子,教你减少无意义的编码 543
  • Linux系统性能优化实战指南 2
  • VMware ESXi 8.0U3 Huawei (华为) 定制版更新 OEM BIOS 2.7 支持 Windows Server 2025 1331

最新文章

  • Flutter在Windows上的数据库支持
  • flutter windows项目打包
  • Flutter 开启混淆打包apk,并反编译apk确认源码是否被混淆
2024年31篇
2023年99篇
2022年2篇
2019年62篇
2018年40篇
2017年1篇
2016年60篇
2015年8篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家模压法玻璃钢雕塑厂家商场美陈哪里买杭州湖州商场美陈布置安装包贴玻璃钢人物雕塑制品工艺玻璃钢人物雕塑尺寸睢县玻璃钢雕塑价格恩平玻璃钢花盆花器东宝玻璃钢雕塑厂家山东人像雕塑玻璃钢格尔木玻璃钢雕塑玻璃钢动物雕塑款式多滁州景观玻璃钢雕塑生产厂家聊城玻璃钢雕塑安装江苏大型商场美陈销售厂家玻璃钢卡通动漫雕塑价格深圳酒店玻璃钢花盆牡丹江市玻璃钢雕塑亳州欧式玻璃钢雕塑设计南京泡沫玻璃钢雕塑有哪些玻璃钢狮子雕塑厂家漯河公园玻璃钢雕塑漯河花朵玻璃钢雕塑厂家北京商业街玻璃钢雕塑玻璃钢驴多多雕塑公安玻璃钢花盆花器专业的玻璃钢雕塑设计大理玻璃钢雕塑厂家深圳周边商场美陈市场报价玻璃钢雕塑圆柱制作张家口镜面玻璃钢卡通雕塑香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化