Boo 的類別(Class),跟 Python 很像,基本上不複雜。
class Animal: pass class Dog(Animal): def constructor(): pass def constructor( name ): _name=name def destructor(): pass def Bark(): print "${_name} is barking..." [property(Name)] _name = "Anonymous" spot=Dog( "spot" ) whity=Dog( Name:"whity" ) print spot.Name whity.Bark()
class 跟 C# 一樣,可以加上 public、protected、internal、protected internal、private、abstract、final 等修飾詞,預設是 public。
繼承的話,就是在類別名稱後面加上小括號,並在括號內放置欲繼承的類別。
建構子與解構子分別是 constructor 與 destructor,可寫可不寫。
方法的宣告其實跟前面提到的函數很像,都是使用 def ,def 的前面還可以加上 abstract、static、virtual、override 等修飾詞。
最後是欄位,通常就跟寫運算式一樣,給定一個值就行了,像這樣:_name=””,前面的 [property()] 是 attribute,是一個偷懶的寫法,實際上是 get/set 的組合體:
class Cat(Animal): def constructor(): pass def constructor( name ): _name=name def destructor(): pass def Meow(): print "${_name} is meowing..." Name as string: get: return _name set: _name=value _name = "Anonymous"
看到這裡,你有發現到這行嗎?whity=Dog( Name:”whity” )。咦,莫非在建構時可以直接指定屬性的值,沒錯,這寫起程式來方便很多啊~
參考資料: