美文网首页
2022-03-02 dart语法之Extension Meth

2022-03-02 dart语法之Extension Meth

作者: 我是小胡胡123 | 来源:发表于2022-03-02 15:54 被阅读0次

https://cloud.tencent.com/developer/article/1889373

一、类定义

1、 类
class 普通类 (成员方法必须要实现)
mixin 多继承,混入类(不能有构造方法)
abstract class 抽象类 (定义抽象方法)

2、类继承, 3个关键字:
extends 继承
implements 继承(父类方法必须要实现)
with 多继承(父类不能有构造方法)

3、约束:
on 约束(继承mixin类的类,必须同时继承约束类)

extends 和 on 只能用一个。on用在mixin类后面,表示继承该mixin类的那些类,也需要继承on类

例如这样:

class A1 extends A4 {}

class A2 {}

mixin A3 on A4 {}

class A4 {}

class A5 extends A1 with A3 implements A2 {}

二、类扩展

https://juejin.cn/post/6844904191488425992

给一个现有的类,扩展方法。

extension 名字 on 某个类名{
  新方法;
}

在当前文件有效:扩展名字下滑线开头,或者省去扩展名字。
想到了objective-c的extension和category,类扩展(extension)是分类(category)的一个特例,有时候也被称为匿名分类 。

extension _名字 on 某个类名{
  新方法;
}

例如这样:

extension TxtExtensions on String {
  String get transformUnicode {
    var transform =
        this.replaceAllMapped(RegExp('\\\\U111[0-9a-zA-Z]{5}'), (match) {
      var radixString =match.group(0).substring(4);
      return radixString;
    });
    return transform;
  }

扩展属性可以吗? 不可以。其他的限制我从别的地方复制过来了:
扩展不支持的,有报错的时候应该就可以对号入座,因为编译器会直接报错。

  • 声明一个具有与扩展名相同的基本名称的成员。
  • 声明与扩展名相同的类型参数。
  • 声明一个具有与任何扩展程序类型参数名称相同的基本名称的成员。
  • 声明两个具有相同基本名称的成员,除非一个成员是getter而另一个是setter。
  • 声明一个具有相同名字的setter和getter,一个是静态的,另一个不是。
  • 声明具有相同名字成员作为成员声明由Object(==,hashCode,toString,noSuchMethod,runtimeType)。这适用于静态和实例成员声明。
  • 声明一个构造函数。
  • 声明一个实例变量。
  • 声明一个抽象成员。
  • 声明成员,其正式参数标记为covariant。

相关文章

  • 2022-03-02 dart语法之Extension Meth

    https://cloud.tencent.com/developer/article/1889373[https...

  • Flutter扩展函数

    在Dart 2.7 版本中,新加入了一个重要的语法功能,叫做extension。Extension的主要功能给已经...

  • dart语法7-泛型

    dart语法1dart语法2-内置类型dart语法3-函数dart语法4-操作符dart语法5-异常dart语法6...

  • dart语法8-库

    dart语法1dart语法2-内置类型dart语法3-函数dart语法4-操作符dart语法5-异常dart语法6...

  • dart语法10-生成器

    dart语法1dart语法2-内置类型dart语法3-函数dart语法4-操作符dart语法5-异常dart语法6...

  • dart语法9-异步

    dart语法1dart语法2-内置类型dart语法3-函数dart语法4-操作符dart语法5-异常dart语法6...

  • dart语法11

    dart语法1dart语法2-内置类型dart语法3-函数dart语法4-操作符dart语法5-异常dart语法6...

  • dart语法2-内置类型

    dart语法1dart语法2-内置类型dart语法3-函数dart语法4-操作符dart语法5-异常dart语法6...

  • dart语法1

    dart语法1dart语法2-内置类型dart语法3-函数dart语法4-操作符dart语法5-异常dart语法6...

  • dart语法3-函数

    dart语法1dart语法2-内置类型dart语法3-函数dart语法4-操作符dart语法5-异常dart语法6...

网友评论

      本文标题:2022-03-02 dart语法之Extension Meth

      本文链接:https://www.haomeiwen.com/subject/chmsrrtx.html