Scala

Scala开发教程(35): 组合和继承–调用基类构造函数

jerry Scala
Scala开发教程(35): 组合和继承–调用基类构造函数
前面我们定义了两个类,一个为抽象类Element ,另外一个为派生的实类ArrayElement. 或许你打算再构造一个新类,这个类使用单个字符串来构造布局元素,使用面向对象的编程方法使得构造这种新类非常容易。比如下面的Li

Scala开发教程(34): 组合和继承–定义参数化成员变量

jerry Scala
我们回到前面定义的类ArrayElement,它有一个参数conts,其唯一的目的是用来复制到contents成员变量。而参数名称conts是为了让它看起来和成员变量contents类似,而有不至于和成员变量名冲突。 Scala支持使用参数化成

Scala开发教程(33): 组合和继承–重载成员函数和方法

jerry Scala
和Java稍有不同的一点是,Scala中成员函数和成员变量地位几乎相同,而且也处在同一个命名空间,也就是Scala中不允许定义同名的成员函数和成员变量,但带来的一个好处是,可以使用成员变量来重载一个不带参数的成员函

Scala开发教程(32): 组合和继承–扩展类

jerry Scala
Scala开发教程(32): 组合和继承–扩展类
我们需要能够创建新的布局元素对象,前面定义的Element为抽象类,不能直接用来创建该类的对象,因此我们需要创建Element的子类。这些子类需要实现Element类定义的抽象函数。 Scala中派生子类的方法和Java一样,也是

Scala开发教程(31): 组合和继承–定义无参数方法

jerry Scala
作为下一步,我们将向Element添加显示宽度和高度的方法,height方法返回contents里的行数。width方法返回第一行的长度,或如果元素没有行记录,返回零。 abstract class Element { def contents: Array[String

Scala开发教程(30): 组合和继承–抽象类

jerry Scala
上一篇我们定义了我们需要解决的问题,我们首要的任务是定义Element类型,这个类型用来表示一个布局元素。由于每个元素为一个具有二维矩形形状的字符串,因此我们理所当然的可以定义个成员变量contents,用来表示这个

Scala开发教程(29): 组合和继承–概述

jerry Scala
在前面我们介绍了Scala面向对象的一些基本概念 Scala开发教程(4): 类和对象 (一) Scala开发教程(5): 类和对象 (二) Scala开发教程(8): 类和对象 (三) Scala开发教程(9): 类和对象 (四) Scala开发教程(10): 类和对象

Scala开发教程(28): 传名参数

jerry Scala
上篇我们使用柯里化函数定义一个控制机构withPrintWriter ,它使用时语法调用有如Scala内置的控制结构: val file = new File("date.txt") withPrintWriter(file){ writer => writer.prin...
阅读全文

Scala开发教程(27): 创建新的控制结构

jerry Scala
对于支持函数作为“头等公民”的语言,你可以有效的创建新的控制结构即使该语言语法上固定的。你所要做的事创建一个方法,该方法使用函数类型作为参数。 比如: 下面为一个“双倍”的控制结构,这个“双倍”控制结构

Scala开发教程(25): 减低代码重复

jerry Scala
在前面的文章中,我们说过Scala没有内置很多控制结构,这是因为Scala赋予了程序员自己扩展控制结构的能力。Scala支持函数值(值的类型为函数,而非函数的返回值),为避免混淆,我们使用函数类型值来指代类型为函数