亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Scala的二維布局庫和抽象類怎么使用

發布時間:2021-12-09 17:34:47 來源:億速云 閱讀:136 作者:iii 欄目:編程語言

本篇內容主要講解“Scala的二維布局庫和抽象類怎么使用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Scala的二維布局庫和抽象類怎么使用”吧!

二維布局庫

創造一個制造和渲染二維布局元素的庫,每個元素將代表一個填充字符的長方形。方便起見,庫將提供名為“elem”的工廠方法來通過傳入的數據構造新的元素。例如,你將能通過工廠方法采用下面的寫法創建帶有字串的元素:

elem(s: String): Element

正如你所見,元素將以名為Element的類型為模型。你將能在元素上調用above或beside,傳入第二個元素,從而得到合并了這兩個的新元素。例如,下面的表達式將構建一個包含兩列,每列高度為二,的更大的元素:

val column1 = elem("hello") above elem("***")  val column2 = elem("***") above elem("world")  column1 beside column2

打印這個表達式的結果將是:

hello ***  *** world

在對象能通過簡單的部件及組合操作符的幫助被構建的系統中,布局元素是個好的例子。本章里,我們將定義類使得元素對象能被構建自數組,行記錄,以及長方形——簡單部件。我們還將定義組合操作符above和beside。這種組合操作符也經常被稱為組合子:combinator,因為它們把某些區域的元素組合成新的元素。

以組合子的方式思考問題通常是實現庫的設計的好方法:它能回報以考慮在應用域構建對象的基礎方法。什么是簡單對象?用什么方式能讓更多有趣的對象通過簡單對象構造出來?組合子是怎么掛在一起的?什么是最通用的組合?它們滿足任何有趣的規則嗎?如果你對這些問題都有好的答案,你的庫設計就在正軌上了。

抽象類

我們的***個任務就是定義代表布局元素的類型Element。由于元素是二維的字符長方形,包括成員,指向布局元素內容的contents,是合情合理的。內容可以被表達成字串數組,這里每個字串代表一行。因此,contents返回的結果類型就是Array[String]。代碼10.1展示了它看起來的樣子。

這個類里,contents被聲明為沒有實現的方法。換句話說,方法是類Element的抽象:abstract成員。具有抽象成員的類本身必須被聲明為抽象的,只要在class關鍵字之前加上abstract修飾符即可:

abstract class Element {  def contents: Array[String]  }

代碼 10.1 定義抽象方法和類

abstract class Element ...

abstract修飾符說明類或許有沒實現的抽象成員。結果,你不能實例化抽象類。如果你嘗試這么做,你會得到編譯器錯誤:

scala> new Element  < console>:5: error: class Element is abstract;   cannot be instantiated   new Element   ?

請注意類Element的contents方法并沒帶有abstract修飾符。如果方法沒有實現(也就是說,沒有等號或方法體),它就是抽象的。不像Java,方法的聲明中不需要(或允許)抽象修飾符。擁有實現的方法被稱為具體的:concrete

到此,相信大家對“Scala的二維布局庫和抽象類怎么使用”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

通道| 安龙县| 苏州市| 临西县| 桑日县| 台江县| 哈密市| 大关县| 乐都县| 临西县| 来凤县| 巴青县| 临安市| 聊城市| 常宁市| 牡丹江市| 沙湾县| 赫章县| 万全县| 绥德县| 海兴县| 泗阳县| 灵山县| 河西区| 积石山| 秦皇岛市| 沁阳市| 合江县| 贺州市| 理塘县| 隆安县| 金乡县| 怀集县| 江达县| 金寨县| 蒲城县| 宁化县| 乾安县| 三河市| 广饶县| 浦城县|