(資料科學學習手札46)Scala中的物件導向

2022-01-10 08:39:43 字數 2079 閱讀 6291

一、簡介

在scala看來,一切皆是物件,物件是scala的核心,scala物件導向涉及到class、object、構造器等,本文就將對class中的重點內容進行介紹;

二、scala中的類

2.1 普通類

在scala中定義普通類的方式如下面的示例:

class

demo

}

即class+類名+,而在class的定義中,也有一些特殊的方法:

1、private定義私有屬性和方法

//

呼叫class中的非私有化屬性和方法

而呼叫非私有化的方法,雖然該方法中呼叫了class中的私有化屬性和私有化方法,但這時**執行是沒有問題的:

2、類的繼承

在scala中,繼承的關鍵字是extends:

object main}//

父類class

father}//

子類1class child1 extends

子類通過override關鍵字來重寫父類中的方法,如果要定義子類獨特的方法,直接在子類的定義中書寫即可:

object main}//

父類class

father}//

子類1class child1 extends

3、class的傳入引數

scala中的class可以像定義函式一樣傳入一些必要或非必要引數,如下例:

無預設值的引數,必須在初始化class的例項時定義:

有預設值的引數:

object main

}class father(firstname:string="wang")

}

2.2 特質與混入

scala中的特質用trait關鍵字來定義,混入用extends的方式,通過with以混入多個特質,下面是乙個簡單的演示:

object main}//

特質1trait car}//

特質2trait wheel}//

特質3trait glass}//

混入三個特質

以上就是本文的全部內容,若有筆誤之處,望指出。

tensorflow 科學學習路徑

我們接觸到的 tensorflow 學習資料,要麼屬於零星介紹,要麼從頭到尾平鋪介紹。稍微有開發經驗的人知道,這是一種低效的資料。大家都知道從專案入手學習一門語言是最快的。但是,如何做?對於乙個入門者,對於專案是什麼尚且不能完全認識,更別說在做專案的基礎上學習一門語言。在做專案的過程中學習一門語言,...

電腦科學學院靜態網頁

先分析網頁的框架結構,根據css div布局方式可以將網頁分為head頭,導航欄 宣傳 展示新聞內容 頁尾等五個部分。即頁面上存在最外層從上往下的五個div。設定相應的背景顏色,部分對應的背景以及固定或者自適應的寬度與高度,div之間的間距等,然後在遊覽器上觀察展示效果。從上往下一次分析每乙個div...

讀點大腦科學,學會變得更聰明

很多人發現自己經常忘記事情 效率一直在降低,以前從時間管理的角度寫過很多針對性的建議,今天來看看科學家從科學研究的角度給出的建議,很多建議都能跟以前寫的文章互相驗證。下面的內容來自 讓大腦自由 作者約翰 梅狄納 john medina 博士是一位專注於人腦發展基因以及精神病遺傳學問題的發展分子生物學...