Scala读书笔记之 Chapter 5、6、7(类,对象,包)
来源:互联网 发布:狼群算法源代码 编辑:程序博客网 时间:2024/06/18 09:57
第五章 类
要点
- 类的字段中自动带有getter方法和setter方法
- 可以用定制的getter/setter方法替换掉字段的定义,而不必修改使用类的客户端(统一访问原则)
- 用@BeanProperty注解来生成JavaBeans的getXxx/setXxx方法
- 每个类都有一个主要的构造器,这个构造器和类定义“交织”在一起。它的参数直接成为类的字段,主构造器执行类体中所有的语句
- 辅助构造器是可选的,它们叫做this
- Scala中,几乎可以在任何语法结构中内嵌任何语法结构,可以在函数中定义函数,在类中定义类
chatter.Member和myFace.Member是两个不同的类,解决方法可以是半生对象或者类型投影(Network#Member)
第六章 对象
要点
- 用对象作为单例或存放工具方法,对象的构造器在该对象第一次被使用时调用,类似Java或C++中使用单例对象的情况,Scala可以用对象实现:
- 作为存放工具函数和常量的地方
- 高效地共享单个不可变实例
- 需要用单个实例来协调某个服务时(参考单例模式)
类可以拥有一个同名的伴生对象
class Account {val id = Account.newUniqueNumber()private var balance = 0.0def deposit(amount: Double) { balance += amount }...} object Account { //伴生对象private var lastNumber = 0private def newUniqueNumber() = { lastNumber += 1; lastNumber }}//类和它的伴生对象可以互相访问私有特性。它们必须存在于一个源文件中
- 对象可以据扩展类或特质
- 对象的apply方法通常用来构造伴生类的新实例
- 如果不想显式定义main方法,可以用扩展App特质的对象
- 可以通过扩展Enumeration对象来实现枚举
第七章 包和引入
要点
- 包也可以像内部类那样嵌套
- 包路径不是绝对路径
- 包声明链x.y.z并不自动将中间包x和x.y变成可见
- 位于文件顶部不带花括号的包声明在整个文件范围内有效
- 保对象可以持有函数和变量
- 引入语句可以引入包、类和对象
- 引入语句可以出现在任何位置
- 引入语句可以重命名和隐藏特定成员
- java.lang、scala和Predef总是被引入
0 0
- Scala读书笔记之 Chapter 5、6、7(类,对象,包)
- 快学Scala读书笔记之 Chapter 8(继承)
- 快学Scala读书笔记之 Chapter 10、11(特质和操作符)
- 快学Scala 读书笔记之 Chapter 2、3、4(控制结构函数,数组,映射,元组)
- 快学Scala读书笔记之Chapter 14(模式匹配和样例类)
- 快学Scala学习笔记及习题解答(5-8类、对象、包和继承)
- Scala Cookbook读书笔记 Chapter 3.Control Structures 第一部分
- Scala Cookbook读书笔记 Chapter 3.Control Structures 第二部分
- Scala Cookbook读书笔记 Chapter 4.Classes and Properties 第一部分
- Scala Cookbook读书笔记 Chapter 4.Classes and Properties 第二部分
- scala之闭包
- Dt大数据梦工厂王家林老师 Scala实战详解之第17讲 Scala中包、类、对象、成员、伴生类、伴生对象访问权限
- TC++PL Chapter 6 读书笔记
- TC++PL Chapter 5 读书笔记
- C++ Template读书笔记(chapter 5)
- 《Python语言及其应用》读书笔记(5)之第6章对象和类(关键词:对象/类)
- Scala之伴生类,伴生对象
- Scala入门学习之【类,对象,继承】
- Codeforces 595A Vitaly and Night 【水题】
- Java内存回收机制(第五讲)
- spark安装
- 2015年语音识别文献阅读报告
- Hander,多线程传递数据
- Scala读书笔记之 Chapter 5、6、7(类,对象,包)
- Android——JSON数据的使用
- android圆角矩形的view实现(转载)
- Android动画精讲一:从setTranslationX谈属性动画和view动画的区别
- PowerShell 之 CA Server
- 整理 collectionView 水平自定义布局
- Volley
- 2.ubuntu14.04 配置 jdk 8 环境变量
- 【有感】——困境之后的井喷