《快学scala》代码
2015-12-09 21:57
218 查看
第五章:类
class Person {private var privateAge=0
def age = privateAge
def age_= (newValue:Int){ //注意 age_= 这个符号中间不能由空格
if(newValue>privateAge) privateAge = newValue
}
}
class Counter {
private var value = 0
def increment() {value+=1}
def isLess(other:Counter) = value < other.value
//可以访问量一个对象的私有字段
//private 默认是类私有的,所以可以访问,如果使用对象私有就要写 private[this]
}
import scala.reflect.BeanProperty
class Person {
@BeanProperty var name:String = _
//这个修饰起会器会生成4个方法,setName,getName,name,name_=
}
import scala.collection.mutable.ArrayBuffer
class Network{
class Member(val name:String){
val contacts = new ArrayBuffer[Member]
}
private val members = new ArrayBuffer[Member]
def join(name:String) = {
val m = new Member(name)
members += m
m
}
}
val chatter = new Nework
val myFace = new Network
//在scala中chatter.Member和myFace.Member是两个不同的类
//所以以下语句会报错
// var mym = new chatter.Member("yang"); mym = new myFace.Member("face")
第六章:对象
//互相访问私有变量的例子:
class Myclass{
private var para = 0 //如果使用private[this]修饰,伴生对象就不能访问
def param = para
def param_=(newPara:Int){para=newPara}
}
object Myclass{
val myc = new Myclass
def objpara = myc.para
}
//枚举类型实现:
object TrafficLightColor extends Enumeration {
val Red,Yellow,Green = Value
}
相关文章推荐
- struts2中Action的学习
- ASP.NET Core 1.0 中的依赖项管理
- python爬取并计算成绩
- java.uti.Date与java.sql.Date 区别
- 在Navicat premium上创建的SQL Server数据库,实现用PHP连接(即php连接微软MSSQL)
- 实战c++中的string系列--指定浮点数有效数字并转为string
- 实战c++中的string系列--指定浮点数有效数字并转为string
- JAVA面向对象编程中重点总结
- 深入理解Java虚拟机
- 批量导入po接口生成po的代码
- java 组合关系
- JAVA面向对象编程上重点总结
- 存储过程--分页与C#代码调用
- thinkphp 3.2 =》0625-2_ =>css/js /mages路径
- (学习)C++ Primer(1)
- 使用Git上传项目代码到github
- 泛型编程(Generic Programming,简称GP)---模板
- 第一次登陆facebook 会重启 java.lang.RuntimeException: Parcelable encounteredClassNotFoundException reading a
- GitHub图片
- Qt开发:编辑框textEdit自动滚屏