Scala光速入門之物件導向(二)

2021-07-11 06:17:42 字數 1042 閱讀 5898

1、函式定義

class person

def getname = name }

val p = new person

println(p.name)// 呼叫的是內部自動生成的getter方法,結果:spark

p.name = "scala"//呼叫的是內部自動生成的setter方法

println(p.name)//結果:scala

2、自定義setter方法

class person

def name = this.myname  //getter和setter名稱要相同(藍色部分) }

val p = new person

p.name_=("scala")//呼叫自定義setter方法,或者直接通過p.name = "scala"賦值,結果一樣

println(p.name)//結果:scala

3、構造器

classperson 

def this(myname: string, myage: int)

}

valp =newperson("scala",15)

println(p.age

)

4.object

// object通常放置靜態物件,該person是class person的伴生物件,且main方法放在object裡面

object person

5.抽象類與繼承(final類不能被繼承)

abstract rdd

class jdbcrdd extends rdd

}6.scala不支援多繼承,但支援混入(with特質)

trait logging{}//trait相當於介面,可以用extends或with

class jdbcrdd extends rdd with logging

Scala物件導向二

1.抽象類 在scala 中,使用 abstract 修飾的類稱為抽象類,在抽象類中可以定義屬性 未實現的方法和具體實現的方法 abstract class animal 2.繼承 繼承是物件導向的概念,用於 的可重用性,被擴充套件的類稱為超類或父類,擴充套件的類稱為派生類或子類,scala 可以通...

python之物件導向二

什麼時候用到多型?如果我們需要用到父類的方法的時候而且要修改父類方法的時候,或者想呈現出不同的效果是就會用到多型 這裡舉個小例子 class person object def get name self print 張三 class studens person 繼承自person類 def ge...

python之物件導向(二)

針對類物件定義的屬性 使用賦值語句在class關鍵字下可以定義類屬性 當我們定義了乙個類屬性後,這個屬性雖然歸類所有,但類的所有例項都可以訪問到,當例項並沒有該屬性,所以會繼續查詢class的該屬性 class fairy name jing 定義類屬性 print fairy.name xiann...