Flutter 基础知识

1.继承 extends

  1. Flutter 中的继承是单继承
  2. 子类可以通过@override 来重写父类方法
  3. 构造函数不能被继承
  4. 没有共有和私有访问符,可以直接访问超类中所有变量和方法
  5. 一般情况下,带下划线属性表示私有变量

2.接口实现(implements)

  1. 没有(interface)关键字,但每一个类都是一个隐式的接口。
  2. class 就是 interface
  3. 当class被当做interface用时,class中的方法就是接口的方法,需要在子类里重新实现,在子类实现的时候要加@override
  4. 当class被当做interface用时,class中的成员变量也需要在子类里重新实现。在成员变量前加@override
  5. 实现接口可以有多个

3.Flutter中的Mixins

  1. Mixins 使我们可以在无需继承父类的情况下为此类添加父类的“功能”,可以在同一个类中具有一个父级和多个 mixin 组件。
  2. Mixins 不可以声明任何构造函数。
  3. Mixins 添加限定条件使用 on 关键字。
  4. 混合使用 with 关键字,with 后面可以是 classabstract classmixin 的类型。
  5. Mixins 不是多重继承,相反,它只是在多个层次结构中重用类中的代码而无需扩展它们的一种方式。
  6. mixins类只能继承自object
  7. mixins的对象是类
  8. 一个类可以mixins多个mixins类
  9. 可以mixins多个类,不破坏Flutter的单继承

4.构造方法

如果没有自定义构造方法,则会有个默认构造方法
如果存在自定义构造方法 默认构造方法将失效
构造方法不能重载

命名构造方法
使用命名构造方法 可以实现多个构造方法
使用 类名.方法 的形式实现

class Person {
    string name
    int age
    final string sex
    /**
     * 这里 使用this的语法糖可以对final类型赋值
     * 但是写在构造方法中就不行了,因为执行在构造方法之前
     */
    Person (string name ,this.age ,this.sex) { // 第二种是语法糖,
        this.name = name
        print(age)
    }
}

var per = new Person('jack', 20)

---------------------------------------
命名构造方法
class Person {
    string name
    int age
    final string sex

    Person (string name ,this.age ,this.sex) { // 第二种是语法糖,
        this.name = name
        print(age)
    }
    Person.withName(string name) {
        this.name = name
    }
}
<!-- 多个构造方法 类似oc -->
new Person('jack', 12, 'man')
new Person.withName('marry')

4.生命周期

State 的生命周期可以分为 3 个阶段。
State 初始化时会依次执行 :构造方法 -> initState -> didChangeDependencies -> build,随后完成页面渲染。
Widget 的状态更新,主要由 3 个方法触发:setStState、didchangeDependencies 与 didUpdateWidget。
Widget 组件销毁相对比较简单,系统会调用 deactivate 和 dispose 这两个方法,来移除或销毁组件。

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值