教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

Scala面向對象有哪些特性?

更新時間:2022年06月17日18時34分 來源:傳智教育 瀏覽次數(shù):

類與對象

無論是在Scala中還是Java中,類都是對象的抽象,而對象都是類的具體實例;類不占用內存,而對象占用存儲空間。由于面向對象的核心是對象,若想要在應用程序中使用對象,就必須得先創(chuàng)建一個類。類是用于描述一組對象的共同特征和行為。

創(chuàng)建類的格式

class類名[參數(shù)列表]

創(chuàng)建對象的格式

類名對象名稱=new類名0;

繼承

Scala和Java類似,只允許繼承一個父類。Java只能繼承父類中非私有的屬性和方法,而Scala可以繼承父類中的所有屬性和方法。

在Scala子類繼承父類的時候,有以下幾點需要注意

如果子類要重寫一個父類中的非抽象方法,則必須使用override關鍵字,否則會出現(xiàn)語法錯誤。

如果子類要重寫父類中抽象方法時,則無需使用override關鍵字

單例對象和伴生對象

Scala中提供了object這個關鍵字用來實現(xiàn)單例模式,使用關鍵字object創(chuàng)建的對象為單例對象。

在一介源文件中有一個類和一個單例對象,若單例對象名與類名相同,則把這個單例對象稱作伴生對象(companion object),這個類則被稱為是單例對象的伴生類(companion class)。

類和伴生對象之間可以相互訪問私有的方法和字段。

特質

在Scala中,Trait(特質)的功能類似于Java中的接口,但Trait的功能卻比Java中的接口強大。例如,Trait可以對定義字段和方法進行實現(xiàn),而接口卻不能。Scala中的Trait可以被類和對象(Objects)使用關鍵字extends來繼承。

創(chuàng)建特質的格式

trait traitName
0 分享到:
和我們在線交談!