-
Scala学习十八——高级类型
一.本章要点 单例类型可用于方法串接和带对象参数的方法 类型投影对所有外部类的对象都包含了其他内部类的实例 类型别名给类型指定一个短小的名称 结构类型等效于”鸭子类型“ 存在类型为泛型的通配参数提供了统一形式 使用自身类型来表明某特质对混入它的类或对象的类型要求 ”蛋糕模式“用自身类型来实现依赖注入 -
Scala学习十七——类型参数
一.本章要点 类、特质、方法和函数都可以有类型参数 将类型参数放置在名称之后,以方括号括起来 类型界定的语法为T<:UpperBound、T>:LowerBound、T<%ViewBound、T:ContextBound 可以用类型约束来约束一个方法,比如(implicit ev:T<:<Upper -
Scala学习十六——XML处理
一.本章要点 XML字面量<like>this</like>的类型为NodeSeq 可以在XML字面量中内嵌Scala代码 Node的child属性产出后代节点 Node的attributes属性产出包含节点属性的MetaData对象 \和\\操作符执行类Xpath匹配 可以在case语句中使用XM -
Scala学习十五——注解
一.本章要点 可以为类、方法、字段、局部变量、参数、表达式、类型参数以及各种类型定义添加注解 对于表达式和类型,注解跟在被注解的条目之后 注解的形式有@Annotation、@Annotation(value)或@Annotation(name1=value1,...) @volatile、@tra -
Scala学习十四——模式匹配和样例类
一.本章要点 match表达式是更好的switch,不会有意外调入下一个分支 如果没有模式能够匹配,会抛出MatchError,可以用case _模式避免 模式可以包含一个随意定义的条件,称做守卫 你可以对表达式的类型进行匹配;优先选择模式匹配而不是isInstanceOf/asInstanceOf -
Scala学习十三——集合
一.本章要点 所有集合都扩展自Iterable特质; 集合有三大类,分别为序列,集和映射; 对于几乎所有集合类,Scala都同时提供可变和不可变的版本; Scala列表要么是空的,要么拥有一头一尾,其中尾部本身是一个列表; 集是无小猴次序的集合; 用LinkedHashSet来保留插入顺序,或者用S -
Scala学习十二——高阶函数
一.本章要点 在Scala中函数是”头等公民“(可以作为参数,返回值,赋值给其他); 可以创建匿名函数,通常还会交给其他函数; 函数参数可以给出需要稍后执行的行为; 许多集合方法都接受函数参数,将函数应用到集合中的值; 有许多语法上的简写让你以简短且易读的方式表达函数参数; 可以创建操作代码块的函数 -
Scala学习十一——操作符
一.本章要点 标识符由字母,数字或运算符构成 一元和二元操作符其实是方法调用 操作符优先级取决于第一个字符,而结合性取决于最后一个字符 apply和update方法在对expr(args)表达式求值时被调用 提取器从输入中提取元组或值的序列 二.标识符 变量,函数,类的名称统称为标识符。标准的(Ja -
助教小结
1.助教本人博客: https://www.cnblogs.com/Mchandu/ 2.本周点评数量:7 3.本周有困惑的作业:无 4.本周的改进:本周同学们都在积极地互相测试项目,都提出宝贵意见,同学们积极回复博客评论,并且接受改进建议,继续开发中,非常的好! 5.本周助教工作存在问题:无。 6 -
Scala学习十——特质
一.本章要点 类可以实现任意数量的特质 特质可以要求实现它们的类具备特定的字段,方法或超类 和Java接口不同,Scala特质可以提供方法和字段实现 当你将多个特质叠加在一起时,顺序很重要——其方法先被执行的特质排在更后面 二.为什么没有多重继承 Scala和Java一样,不允许使用多重继承(如果继