理解Scala中的抽象控制

2021-10-05 09:51:36 字數 1378 閱讀 6834

在 《快學scala》 一書中,控制抽象被描述為是一系列語句的聚集,是一種特殊的函式,因為它是本質上只是對一系列語句的封裝,所以它理應:

沒有引數輸入

沒有值返回

package com.zhengkw.scala.day03exc

/** * @classname:controlabs

* @author: zhengkw

* @description:

* @date: 20/04/23下午 10:41

* @version:1.0

* @since: jdk 1.8 scala 2.11.8

*/object controlabs

)//在子執行緒中執行

threadrun

var i =

0mywhile

(i <

100)

}/**

* @descrption: 傳遞一段**, 讓後讓這段**, 在乙個子執行緒中執行

* 這裡面的控制抽象並不是threadrun!

* 而是code!

* @return: void

* @date: 20/04/23 下午 10:52

* @author: zhengkw

*/def threadrun

(code:

=> unit)

: unit =}.

start()

}/**

* @descrption: 自定義while迴圈

* @param condition 判斷條件

* @param code 傳入的**塊

* @return: scala.function1* @date: 20/04/23 下午 11:11

* @author: zhengkw

*///注意mywhile的型別必須寫死!不然 mywhile會報錯!

def mywhile

(condition:

=> boolean)

(code:

=> unit)

:unit=

}}

參考博文

def threadrun

(code:

=> unit)

: unit =}.

start()

}

這段**中,其實抽象控制不是threadrun!而是名呼叫中的code!!! 他沒有引數也沒有返回值!!!

scala之 控制抽象

package com.shufang.scala02 什麼是抽象控制?1 抽象控制是乙個方法,但是方法的引數a是乙個函式 2 函式a的沒有引數,也沒有返回值 主要目的 在乙個方法中呼叫某個 塊,也可一理解成 unit的匿名函式,可以簡寫成 unit object testabstractcontr...

Scala中的繼承,抽象,特質

1.繼承 父類 class person val name string,val age int 子類 如果希望使用子類中的值,去覆蓋父類中的值,需要加override關鍵字 class employee override val name string,override val age int,v...

Scala中的抽象類

抽象類 抽象類中不一定有抽象方法或者抽象字段。有抽象字段或者抽象方法的類一定是抽象類。子類在實現抽象字段或者抽象方法的時候,不使用override。覆蓋方法 覆蓋的時候,一定使用override。覆蓋字段 抽象字段一定要有型別描述。覆蓋的時候,一定使用override。1 2 繼承 抽象類3 aut...