在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
class p{ num x; num y; // p(num a,num b){ //构造函数写法1 和c++一样 // x=a; // y=b; // } // p(this.x,this.y); //构造函数写法2
工厂构造函数: 工厂构造函数是一种构造函数,与普通构造函数不同,工厂函数不会自动生成实例,而是通过代码来决定返回的实例对象. 工厂构造函数的关键字为factory,下面我们用工厂构造函数写一个只能创造一个实例的类. 所以我怎么看都像个单例模式,为什么还单独设置一个factory关键字。。class A{ String name; static A cache; factory A([String name='A']){ //不能再定义默认构造函数了,好像dart里的构造函数:默认只要不是命名构造函数(类名.xxx()这样的) if(A.cache==null){ //就算默认构造函数,像这个工厂构造函数也是算默认构造函数,爷吐了 A.cache=new A.newObject(name); } return A.cache; } A.newObject(this.name); //这个是命名构造函数 } void main(){ A a=new A('HelloWorld'); print(a.name); A b=new A('HelloDart'); print(b.name); print(a==b); }
|
请发表评论