scala程式設計筆記(三)類,欄位和方法

2021-09-08 18:05:52 字數 1776 閱讀 2743

類,欄位和方法

類是物件的藍圖,能夠通過new來建立物件。在類的定義裡能夠有字段和方法。統稱member

val還是var都是指向物件的變數(var定義的字段可又一次賦值),def定義方法,包括可執行**

class

scalasingleton

這裡定義類之後建立物件使用了。雖然這裡是val,可是物件的變數是能夠又一次賦值的

def main(args: array[string])
1,scala預設是public級別

2,scala的引數都是val型別,因此不可再方法體內又一次賦值

3。簡潔性

先來個計算的 v1.0版的**

class scalasingleton 

def checksum(): int =

}

1,在scala中假設沒有不論什麼顯示的返回語句。將返回方法中最後一次計算得到的值

2,假如某個方法僅計算單個結果表示式,能夠去掉花括號,如是scala**就變成了這樣

class

scalasingleton

看起來僅占用了一行。另外

def

add(b: byte): unit = sum += b

事實上能夠去掉返回型別unit 與等號 寫成

def add(b: byte)
這裡來看看以下幾個寫法

def

gunit():unit =

println("gunit():unit = :"+gunit)

defgunit1()

println("gunit1() : " + gunit1)

defgstr() =

println("gstr() = : "+gstr)

執行後返回值是這樣子的

gunit():unit = :()

gunit1() : ()

gstr() = : string

這裡有一點就是:帶有花括號的,可是無等號的會被專程unit型別,從而得不到我們想要的返回型別,因此想要得到想要的返回 型別「=」等號是不能少的

分號判斷

多行語句中,分毫是必須的,通常行尾能夠覺得是乙個分號,操作符通常應該是在行尾,而不能是行頭

singleton

scala中不能定義靜態成員。取而代之定義單例物件

class 定義,注意包名差別

package com.luyee.scala.classpkg

class

scalasingleton

obj定義

package com.luyee.scala

import scala.collection.mutable.map

object scalasingleton else

def main(args: array[string])

}

最後的輸出結果:

not

contains: map()

contains: map(2

-> -50)

contains: map(2

-> -50)

contains: map(2

-> -50)

三 類和物件(一)

1.什麼是物件導向?2.類的大小?為什麼要記憶體對齊?記憶體對齊的計算?空類的計算 3.類的4個預設成員函式的詳細使用及細節 物件導向是一種程式設計范型,同時也是一種程式開發的方法。物件指的是類的例項,將物件作為程式的基本單元,將程式和資料封裝其中,以提高軟體的重用性 靈活性和擴充套件性。類的大小 ...

實驗三 類和物件

一 實驗內容 1 graph類內容補充 如下 ifndef graph h define graph h 類graph的宣告 class graph endif graph.h 類graph的實現 include graph.h include using namespace std 帶引數的建構函...

實驗三 類和物件

part2 繪製圖形 include include graph.h using namespace std intmain main.cpp 類graph的實現 include graph.h include using namespace std 帶引數的建構函式的實現 graph graph ...