-
继承构造方法
子类构造方法默认调用父类无名构造方法
父类没有无名无参构造方法,则需要显示调用父类构造方法
构造方法参数后使用 : 显示调用父类构造方法
执行顺序
父类构造方法在子类构造方法体执行前调用
如果有初始化列表,初始化列表最先执行
查看全部 -
void main(){ // Person person = new Person(); // ?. person为null的时候不执行 后面的.work // person?.work(); var person ; person = ""; person = new Person(); (person as Person).work(); // as 类型强转 if(person is Person){ // 是否指定类型 person.work(); } // .. 级连 new Person()..name ="bb" ..age = 12 ..work(); } class Person{ String name; int age; void work(){ print("work...."); } }
查看全部 -
class person{ static const String name ="l"; static getTo(){ print(this.name); } }
查看全部 -
初始化列表 给final属性赋值 如gender
查看全部 -
工厂构造方法
类似于设计模式中的工厂模式
构造方法前添加factory 实现工厂构造方法
工厂构造方法中可返回对象
查看全部 -
常量构造方法
如果类是不可变状态,可以把对象定义为编译时常量使用const 申明构造方法,所有变量都为final
使用const 申明对象,可以省略
查看全部 -
构造方法
没有自定义的时候,采用的是默认的
有自定义的,默认的就无效了
构造方法不能重载
如何实现多个参数的构造方法呢?class Person{ String name; int age; final String gender;//可以在下面的构造方式中赋值 person( this.name,this.age, this.gender); //多个构造方法 person.withName(this.name); //var person = new Person.wthName('lalala'); }
查看全部 -
计算属性
计算属性的值通过计算而来,本身不存储值
计算属性赋值,通过计算转换到其他实例变量
查看全部 -
_标示私有性,
可以是类名,属性名,也可以是方法名
Class _Person{ String name; int _age; void _toString(){} }
查看全部 -
申明一个变量
var person = new Person()
var person = Person()
方法不能被重载 : 指不能有同名方法
查看全部 -
常量构造方法
如果类是不可变状态,可以把对象定义为编译时常量
使用const声明构造方法,并且所有变量都为final
使用const声明对象,可以省略
查看全部 -
一,构造方法
1,如果没有自定义构造方法,则会有个默认构造方法
2,如果存在自定义构造方法,则默认构造方法无效
3,语法塘
构造方法不能对final类型进行赋值,但是语法糖可以
4,构造方法不能重载
二,命名构造方法(实现多个构造方法)
1,使用类名.方法的形式实现
查看全部 -
计算属性
1,顾名思义,计算属性的值是通过计算而来,本身不存储值
2,计算属性赋值,其实是通过计算转换到其它实例变量
3,格式:
返回类型 关键字 计算属性名称{
计算逻辑...
}
查看全部 -
一,类与对象
使用关键字class声明一个类
使用关键字new创建一个对象,new 可省略(与java不同)
所有对象都继承于Object类
二,属性与方法
属性默认会生成getter和setter方法
使用final声明的属性只有getter方法(只可读,不可写)
属性和方法通过. 访问
方法不能被重载(不能一个方法使用两次)
三,类及成员可见性
Dart中的可见性以library(库)为单位
默认情况下,每一个dart文件就是一个库
使用 _ 表示库的私有性
使用import导入库
查看全部 -
1,格式: (参数1,参数2,...){ return 结果; } 2,可赋值给变量,通过变量进行调用 3,可在其他方法中直接调用或传递给其他方法
查看全部
举报