摘要: 本文将从每个对象生命周期的起始: 使用构造函数开始。每个对象都将在某一个时刻被构造出来,定义构造函数是创建一个类的重要组成部分。这里Dart有些有趣的想法。自动初始化字段首先是摆脱一些单调乏味的部分。许多构造函数仅仅是简单地把参数赋值给字段,如:classPoint{ numx,y; Point(numx,numy){ this.x=x; this.y=y; } }这样我们这里不得不输入4次x,仅仅是初始化一个字段。太烂了。我们可以做的更好:classPoint{ numx,y; Point(this.x,this.y); }在参数列表中,如果参数前使用 this. ,那么这个名字的字段将自动 阅读全文
posted @ 2011-11-06 00:04 qiforme 阅读(645) 评论(0) 推荐(0) 编辑
摘要: 程序设计语言的抽象机制包含了两个最基本的方面:一是语言关注的基本元素/语义;另一个是从基本元素/语义到复合元素/语义的构造规则。在C、C++、Java、C#、Python等通用语言中,语言的基本元素/语义往往离问题域较远,通过API库的形式进行层层抽象是降低问题难度最常用的方法。比如,在C语言中最常见的方式是提供函数库来封装复杂逻辑,方便外部调用。不过普通的API设计方法存在一种天然的陷阱,那就是不管怎样封装,大过程虽然比小过程抽象层次更高,但本质上还是过程,受到过程语义的制约。也就是说,通过基本元素/语义构造更高级抽象元素/语义的时候,语言的构造规则很大程度上限制了抽象的维度,我们很难跳出这 阅读全文
posted @ 2011-11-06 00:04 qiforme 阅读(136) 评论(0) 推荐(0) 编辑