女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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語(yǔ)法 類與對(duì)象

學(xué)FPGA,慢慢來(lái) ? 2019-08-19 23:29 ? 次閱讀

在Scala中,類是使用關(guān)鍵字“class”開(kāi)頭的代碼定義的,定義完成類之后,就可以“new類名”的方式來(lái)構(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ù)。

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

在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(...)”來(lái)開(kāi)頭的,而且第一步行為必須是調(diào)用該類的另一個(gè)構(gòu)造方法,即第一句語(yǔ)句必須是“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)造方法,該方法是無(wú)參的,其行為也僅是給主構(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)造方法(詳情見(jiàn)后續(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)部定義訪問(wèn),外部代碼構(gòu)造對(duì)象時(shí)就不能通過(guò)主構(gòu)造方法進(jìn)行。

主函數(shù)是Scala程序的唯一入口,即程序是由主函數(shù)開(kāi)始運(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ī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • scala
    +關(guān)注

    關(guān)注

    0

    文章

    42

    瀏覽量

    6618
  • Chisel
    +關(guān)注

    關(guān)注

    0

    文章

    7

    瀏覽量

    492
收藏 人收藏

    評(píng)論

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

    對(duì)象存儲(chǔ)是什么結(jié)構(gòu)類型?

    對(duì)象存儲(chǔ)屬于非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)架構(gòu),采用扁平化命名空間結(jié)構(gòu)。其核心通過(guò)唯一標(biāo)識(shí)符(ObjectID)定位數(shù)據(jù)對(duì)象,突破傳統(tǒng)文件系統(tǒng)的層級(jí)目錄限制,形成"桶-對(duì)象"兩級(jí)邏輯模型。數(shù)據(jù)以獨(dú)立對(duì)象
    的頭像 發(fā)表于 02-10 11:14 ?254次閱讀

    硬件設(shè)計(jì)技巧:三類GPIO接口的實(shí)用指南

    今天教大家一些關(guān)于硬件設(shè)計(jì)的的技巧,只要掌握好三類GPIO,輕松玩好硬件設(shè)計(jì)。
    的頭像 發(fā)表于 11-05 12:22 ?866次閱讀
    硬件設(shè)計(jì)技巧:<b class='flag-5'>三類</b>GPIO接口的實(shí)用指南

    不可錯(cuò)過(guò)的三類GPIO硬件設(shè)計(jì)指南!

    今天我們學(xué)習(xí)三類GPIO硬件設(shè)計(jì),這三類絕對(duì)是不可錯(cuò)過(guò)的,本文將把三類設(shè)計(jì)的重要性展示出來(lái):
    的頭像 發(fā)表于 11-04 09:45 ?1399次閱讀
    不可錯(cuò)過(guò)的<b class='flag-5'>三類</b>GPIO硬件設(shè)計(jì)指南!

    Lua語(yǔ)法基礎(chǔ)教程(中篇)

    今天我們繼續(xù)學(xué)習(xí)Lua語(yǔ)法基礎(chǔ)教程,中篇。 五、變量 5.1 number變量 變量,可以看作是一個(gè)桶,在里面裝你想要裝的內(nèi)容。這些內(nèi)容可以是Lua包含的所有合法類型。 例如:我想要新建一個(gè)桶,名叫
    的頭像 發(fā)表于 10-26 11:39 ?622次閱讀
    Lua<b class='flag-5'>語(yǔ)法</b>基礎(chǔ)教程(中篇)

    Verilog語(yǔ)法中運(yùn)算符的用法

    verilog語(yǔ)法中使用以下兩個(gè)運(yùn)算符可以簡(jiǎn)化我們的位選擇代碼。
    的頭像 發(fā)表于 10-25 15:17 ?2229次閱讀
    Verilog<b class='flag-5'>語(yǔ)法</b>中運(yùn)算符的用法

    Lua語(yǔ)法基礎(chǔ)教程(上篇)

    今天我們來(lái)學(xué)習(xí)Lua語(yǔ)法基礎(chǔ)教程。由于篇幅過(guò)長(zhǎng),將分為上中下篇進(jìn)行講解,本篇為上篇。 一、初識(shí)Lua Lua 是一種輕量小巧的腳本語(yǔ)言,它用標(biāo)準(zhǔn)C語(yǔ)言編寫并以源代碼形式開(kāi)放。這意味著什么呢?這
    的頭像 發(fā)表于 10-24 07:17 ?678次閱讀

    《DNK210使用指南 -CanMV版 V1.0》第十九章 machine.PWM實(shí)驗(yàn)

    ,Timer對(duì)象便不能再做為普通的定時(shí)器使用。因?yàn)镵endryte K210擁有3個(gè)硬件定時(shí)器,且每個(gè)硬件定時(shí)器有4個(gè)通道,因此使用machine.PWM最大可以同時(shí)產(chǎn)生12路PWM。machine.PWM
    發(fā)表于 10-16 09:23

    《DNK210使用指南 -CanMV版 V1.0》第十八章 machine.Timer實(shí)驗(yàn)

    將在后續(xù)的章節(jié)中進(jìn)行講解。machine.Timer提供了Timer構(gòu)造函數(shù),用于創(chuàng)建一個(gè)Timer對(duì)象,Timer構(gòu)造函數(shù)如下所示:class Timer(id, channel, mode
    發(fā)表于 10-16 09:21

    《DNK210使用指南 -CanMV版 V1.0》第十七章 machine.WDT實(shí)驗(yàn)

    將在下一次超時(shí)時(shí)產(chǎn)生一次看門狗復(fù)位,使得系統(tǒng)重新啟動(dòng)。machine.WDT提供了WDT構(gòu)造函數(shù),用于創(chuàng)建一個(gè)WDT對(duì)象,WDT構(gòu)造函數(shù)如下所示:class WDT(id=0, timeout
    發(fā)表于 10-15 14:32

    基于ArkTS語(yǔ)言的OpenHarmony APP應(yīng)用開(kāi)發(fā):HelloOpenharmony

    : paramType[]) { } 3.5、 3.5.1、定義 TypeScript 是面向對(duì)象的 JavaScript,定義一個(gè)使用關(guān)鍵字 class ,
    發(fā)表于 09-14 12:47

    java子類可以繼承父的什么

    Java是一種面向對(duì)象的編程語(yǔ)言,它支持繼承的概念。繼承是面向對(duì)象編程的大特性之一,它允許一個(gè)(稱為子類或派生)繼承另一個(gè)
    的頭像 發(fā)表于 08-20 11:02 ?2008次閱讀

    HarmonyOS Next原生應(yīng)用開(kāi)發(fā)-從TS到ArkTS的適配規(guī)則(十五)

    } 、不支持with語(yǔ)句 規(guī)則:arkts-no-with 級(jí)別:錯(cuò)誤 ArkTS不支持with語(yǔ)句,使用其他語(yǔ)法來(lái)表示相同的語(yǔ)義。TypeScript with (Math) { // 編譯
    發(fā)表于 08-19 16:13

    HarmonyOS Next原生應(yīng)用開(kāi)發(fā)-從TS到ArkTS的適配規(guī)則(十一)

    一、不支持修改對(duì)象的方法 規(guī)則:arkts-no-method-reassignment 級(jí)別:錯(cuò)誤 ArkTS不支持修改對(duì)象的方法。在靜態(tài)語(yǔ)言中,對(duì)象的布局是確定的。一個(gè)的所有
    發(fā)表于 08-02 14:07

    HarmonyOS Next 原生應(yīng)用開(kāi)發(fā)-ArkTS語(yǔ)法適配背景說(shuō)明

    助于更好地優(yōu)化性能。、.ets代碼兼容性 在API version 10之前,ArkTS(.ets文件)完全采用了標(biāo)準(zhǔn)TS的語(yǔ)法。從API version 10 Release起,ArkTS的語(yǔ)法
    發(fā)表于 07-01 16:49

    FPGA學(xué)習(xí)筆記---基本語(yǔ)法

    Verilog語(yǔ)法是指硬件能夠?qū)崿F(xiàn)的語(yǔ)法。它的子集很小。常用的RTL語(yǔ)法結(jié)構(gòu)如下: 1、模塊聲明:module ... end module 2、端口聲明:input, output, inout
    發(fā)表于 06-23 14:58