第五章:类
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
}
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
}