您的位置:首页 > 编程语言

《快学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

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: