91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Chisel(三) Scala語法 類與對(duì)象

學(xué)FPGA,慢慢來 ? 2019-08-19 23:29 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在Scala中,類是使用關(guān)鍵字“class”開頭的代碼定義的,定義完成類之后,就可以“new類名”的方式來構(gòu)造一個(gè)對(duì)象,而這個(gè)對(duì)象的類型就是類。在類之中,可以定義val或var類型的變量,也可以定義“def”函數(shù),這些都統(tǒng)稱方法。字段和方法統(tǒng)稱“成員”。字段通常運(yùn)用于保存對(duì)象的狀態(tài)與數(shù)據(jù),而方法則用于承擔(dān)對(duì)象的計(jì)算任務(wù)。

在外部想要訪問成員時(shí),可以使用“對(duì)象.成員”的形式來訪問,“val”類型的變量只能與初始化時(shí)的對(duì)象綁定。Scala的類成員默認(rèn)都是共有的,都可以使用“對(duì)象.成員”的方式來訪問。

在Scala中不需要顯式定義構(gòu)造方法,而是把類內(nèi)部非字段、非方法的代碼都當(dāng)做“主構(gòu)造方法”,而且,類名后面可以定義若干個(gè)參數(shù)列表,用于接收參數(shù),這些參數(shù)將在構(gòu)造對(duì)象時(shí)用于初始化字段并傳遞給主構(gòu)造方法使用。除了主構(gòu)造方法,還可以定義若干個(gè)輔助構(gòu)造方法。輔助構(gòu)造方法都是以“defthis(...)”來開頭的,而且第一步行為必須是調(diào)用該類的另一個(gè)構(gòu)造方法,即第一句語句必須是“this(...)”——要么是主構(gòu)造方法,要么是之前的另一個(gè)輔助構(gòu)造方法。

scala> class Students(n: String) {

| val name = n

| def this() = this("None")

| println("A student named " + n + " has been registered.")

| }

defined class Students

scala> val stu = new Students

A student named None has been registered.

stu: Students = Students@74309cd5

在這個(gè)例子中,定義了一個(gè)輔助構(gòu)造方法,該方法是無參的,其行為也僅是給主構(gòu)造方法傳遞一個(gè)字符串“None”。在后面創(chuàng)建對(duì)象時(shí),缺省了參數(shù),這樣與主構(gòu)造方法的參數(shù)列表是不匹配的,但是與輔助構(gòu)造方法匹配,所以stu指向的對(duì)象是用輔助構(gòu)造方法構(gòu)造的。

Java里,輔助構(gòu)造方法可以調(diào)用超類的構(gòu)造方法,而Scala加強(qiáng)了限制,只允許主構(gòu)造方法調(diào)用超類的構(gòu)造方法(詳情見后續(xù)章節(jié))。這種限制源于Scala為了代碼簡(jiǎn)潔性與簡(jiǎn)單性做出的折衷處理。

————————————————

版權(quán)聲明:本文為CSDN博主「_iChthyosaur」的原創(chuàng)文章,遵循CC 4.0 by-sa版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。

原文鏈接:https://blog.csdn.net/qq_34291505/article/details/86760620

如果在類名與類的參數(shù)列表之間加上關(guān)鍵字“private”,那么主構(gòu)造方法就是私有的,只能被內(nèi)部定義訪問,外部代碼構(gòu)造對(duì)象時(shí)就不能通過主構(gòu)造方法進(jìn)行。

主函數(shù)是Scala程序的唯一入口,即程序是由主函數(shù)開始運(yùn)行的,要提供這樣的入口,則必須在某個(gè)單例對(duì)象里定義一個(gè)名為“main”的函數(shù),而且這個(gè)函數(shù)只有一個(gè)參數(shù),類型是字符串?dāng)?shù)組Array[String],函數(shù)的返回類型是Unit。任何符合條件的單例對(duì)象都能成為程序的入口。



聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • scala
    +關(guān)注

    關(guān)注

    0

    文章

    42

    瀏覽量

    6905
  • Chisel
    +關(guān)注

    關(guān)注

    0

    文章

    7

    瀏覽量

    588
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    如何分辨五網(wǎng)線

    分辨五與六網(wǎng)線的方法如下: 外皮標(biāo)識(shí) 五網(wǎng)線外皮標(biāo)注“CAT5”,六網(wǎng)線標(biāo)注“CAT6”。這是最直觀的區(qū)分方式,標(biāo)識(shí)直接表明網(wǎng)線的類別。 傳輸性能 五
    的頭像 發(fā)表于 01-28 10:21 ?1218次閱讀

    芯原入選國家知識(shí)產(chǎn)權(quán)示范企業(yè)創(chuàng)建對(duì)象

    1月12日,國家知識(shí)產(chǎn)權(quán)局公示了“2025-2027年國家知識(shí)產(chǎn)權(quán)強(qiáng)國建設(shè)示范創(chuàng)建對(duì)象”的評(píng)審結(jié)果,芯原微電子 (上海) 股份有限公司憑借其在知識(shí)產(chǎn)權(quán)創(chuàng)造、運(yùn)用、管理和保護(hù)方面的扎實(shí)基礎(chǔ)與突出成效,成功入選“國家知識(shí)產(chǎn)權(quán)示范企業(yè)創(chuàng)建對(duì)象”,這標(biāo)志著公司知識(shí)產(chǎn)權(quán)工作獲得了國
    的頭像 發(fā)表于 01-27 15:28 ?224次閱讀

    C與C++之間的聯(lián)系

    1、語法兼容性: C++完全兼容C語言的語法,這意味著任何有效的C語言程序都可以直接在C++編譯器下編譯通過。 2、底層控制: C++雖然增加了許多高級(jí)特性,但它仍然保持了對(duì)硬件資源的低級(jí)
    發(fā)表于 12-11 06:51

    C語言和C++之間的區(qū)別是什么

    區(qū)別 1、面向對(duì)象編程 (OOP): C語言是一種面向過程的語言,它強(qiáng)調(diào)的是通過函數(shù)將任務(wù)分解為一系列步驟進(jìn)行執(zhí)行。 C++在C語言的基礎(chǔ)上擴(kuò)展了面向對(duì)象的特性,支持(class)、封裝、繼承
    發(fā)表于 12-11 06:23

    圖解碼說-六大UML圖關(guān)系(依賴,繼承,實(shí)現(xiàn),關(guān)聯(lián),聚合,組合)

    UML 圖是面向對(duì)象設(shè)計(jì)的 “施工圖”,而依賴、繼承、實(shí)現(xiàn)、關(guān)聯(lián)、聚合、組合這六大關(guān)系,就是圖中定義互動(dòng)規(guī)則的核心 “語法”。掌握它
    的頭像 發(fā)表于 11-05 09:03 ?698次閱讀
    圖解碼說-六大UML<b class='flag-5'>類</b>圖關(guān)系(依賴,繼承,實(shí)現(xiàn),關(guān)聯(lián),聚合,組合)

    語法糾錯(cuò)和testbench的自動(dòng)生成

    在編寫Verilog代碼時(shí),我一般都是先在編輯器上寫完,因?yàn)榫庉嬈鱲scode或者notepad++可以提供語法高亮和自動(dòng)補(bǔ)全等功能,然后用仿真器跑仿真,但是在編寫過程中不可避免的會(huì)有一些語法的錯(cuò)誤
    發(fā)表于 10-27 07:07

    跳線VS超五/超六——如何選擇“網(wǎng)絡(luò)血管”?

    在布線工程中,選對(duì)跳線類型直接影響網(wǎng)絡(luò)性能與成本。六跳線雖非“全能選手”,但在特定場(chǎng)景下性價(jià)比突出。 一、六跳線VS超五:千兆網(wǎng)絡(luò)的“分水嶺” 案例:某小區(qū)升級(jí)千兆光纖到戶,若使用超五
    的頭像 發(fā)表于 10-21 10:24 ?1078次閱讀
    六<b class='flag-5'>類</b>跳線VS超五<b class='flag-5'>類</b>/超六<b class='flag-5'>類</b>——如何選擇“網(wǎng)絡(luò)血管”?

    程序編譯運(yùn)行正常但是顯示語法錯(cuò)誤,為什么?

    樣例程序:can_sample.c rtconfig.h里啟用了#define RT_CAN_USING_HDR 代碼從圖中這里開始大段標(biāo)識(shí)語法錯(cuò)誤: 跳轉(zhuǎn)到宏
    發(fā)表于 09-25 06:27

    canopen如何通過對(duì)象字典控制外設(shè)?

    各位大佬好,我在移植canopen的時(shí)候碰到一個(gè)疑問。比如我修改對(duì)象字典2000,子索引為0這個(gè)目錄下的值,如何這個(gè)對(duì)象映射的是某個(gè)led燈的亮滅,輸入1為亮,0為滅。 問題就是我發(fā)送報(bào)文之后會(huì)進(jìn)入
    發(fā)表于 09-11 06:04

    網(wǎng)線接口能插六網(wǎng)線嗎

    網(wǎng)線接口(RJ45)可以插六網(wǎng)線,但實(shí)際使用效果需結(jié)合具體場(chǎng)景和設(shè)備綜合判斷。以下是詳細(xì)分析: 一、物理兼容性:接口通用,但需注意細(xì)節(jié) RJ45接口標(biāo)準(zhǔn)統(tǒng)一 五(Cat5)、超五
    的頭像 發(fā)表于 09-08 10:32 ?6795次閱讀

    網(wǎng)線面板分五

    網(wǎng)線面板確實(shí)分五和六,這種分類主要基于其適配的網(wǎng)線類型及傳輸性能,以下是具體說明: 一、分類依據(jù) 適配網(wǎng)線類型 五面板:專為五網(wǎng)線(CAT5)設(shè)計(jì),適用于百兆以太網(wǎng)(100Mb
    的頭像 發(fā)表于 08-08 09:46 ?4421次閱讀

    網(wǎng)線能用六水晶頭嗎

    網(wǎng)線可以使用六水晶頭,但需注意兼容性和實(shí)際效果,且通常不建議長(zhǎng)期或關(guān)鍵場(chǎng)景下這樣搭配。 以下是詳細(xì)分析: 一、五網(wǎng)線與六水晶頭的兼容性 物理結(jié)構(gòu)兼容性 線徑與排列:五
    的頭像 發(fā)表于 08-06 10:29 ?9093次閱讀
    五<b class='flag-5'>類</b>網(wǎng)線能用六<b class='flag-5'>類</b>水晶頭嗎

    鴻蒙開發(fā)如何顯示Markdown格式語法 -- markdown_hm介紹

    在開發(fā)過程中,對(duì)于內(nèi)容的展示通常有富文本和Markdown兩種,后者更偏向于技術(shù)文檔、說明書一的內(nèi)容展示。但是和富文本不同的是,沒有一個(gè)原生組件可以用來解析展示Markdown語法的內(nèi)容,所以
    發(fā)表于 06-30 18:47

    網(wǎng)線超6與6的區(qū)別

    網(wǎng)線超6(Cat 6a)與6(Cat 6)的主要區(qū)別如下: 1. 傳輸性能 6網(wǎng)線(Cat 6): 支持最高250 MHz的帶寬。 適用于千兆以太網(wǎng)(1 Gbps),最大傳輸距離100米。 超
    的頭像 發(fā)表于 04-16 10:04 ?1.6w次閱讀

    買水晶頭如何匹配超5 67

    購買與超5、6、7網(wǎng)線匹配的水晶頭時(shí),需遵循以下原則,以確保傳輸性能、穩(wěn)定性和兼容性: 一、匹配原則 超5網(wǎng)線 推薦搭配:超5水晶
    的頭像 發(fā)表于 03-26 10:05 ?6752次閱讀