zoukankan      html  css  js  c++  java
  • Dart的mixin机制

    mixin是混入类,

    一般在c++中利用abstract类来继承接口,但如果A类已经继承了某个abstract类,但还需要加另一个类里的方法怎么办?

    dart中可以利用with 关键字混入其它类的方法直接使用/对其进行覆写后再使用

    例子,这个类继承了BDLifecycleState,并且混入了BDNetPageMixin:

    class LearnReminderState extends BDLifecycleState<LearnReminder> with BDNetPageMixin {

    如果你愿意:可以同时混入多个类,比如class X extends y with a b c

    如果abc中有冲突的方法,会以最后混入的为准。

    定义被混入类可以和普通的class一样定义即可。但如果你只想某些类可以混入当前类,可以这样写:

    mixin myMinxi on StatefulWidget{
      void printt() => print('fuck');
    }

    这样myMixin类就只能被混入到StatefulWidget/继承于StatefulWidget的子类,别的类是不能混入的。

  • 相关阅读:
    idea用法
    pagehelper用法
    mybatis
    多线程2
    radio 标签状态改变时 触发事件
    多线程
    a标签点击后,给a标签添加样式
    servlet
    mybatis 查询
    springmvc 发送PUT 和 DELETE 请求
  • 原文地址:https://www.cnblogs.com/FdWzy/p/13496985.html
Copyright © 2011-2022 走看看