在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Chisel(三) Scala語法 類與對象

學FPGA,慢慢來 ? 2019-08-19 23:29 ? 次閱讀

在Scala中,類是使用關鍵字“class”開頭的代碼定義的,定義完成類之后,就可以“new類名”的方式來構造一個對象,而這個對象的類型就是類。在類之中,可以定義val或var類型的變量,也可以定義“def”函數,這些都統稱方法。字段和方法統稱“成員”。字段通常運用于保存對象的狀態與數據,而方法則用于承擔對象的計算任務。

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

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

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

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

Java里,輔助構造方法可以調用超類的構造方法,而Scala加強了限制,只允許主構造方法調用超類的構造方法(詳情見后續章節)。這種限制源于Scala為了代碼簡潔性與簡單性做出的折衷處理。

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

版權聲明:本文為CSDN博主「_iChthyosaur」的原創文章,遵循CC 4.0 by-sa版權協議,轉載請附上原文出處鏈接及本聲明。

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

如果在類名與類的參數列表之間加上關鍵字“private”,那么主構造方法就是私有的,只能被內部定義訪問,外部代碼構造對象時就不能通過主構造方法進行。

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



聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • scala
    +關注

    關注

    0

    文章

    42

    瀏覽量

    6637
  • Chisel
    +關注

    關注

    0

    文章

    7

    瀏覽量

    497
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    對象存儲是什么結構類型?

    對象存儲屬于非結構化數據存儲架構,采用扁平化命名空間結構。其核心通過唯一標識符(ObjectID)定位數據對象,突破傳統文件系統的層級目錄限制,形成"桶-對象"兩級邏輯模型。數據以獨立對象
    的頭像 發表于 02-10 11:14 ?273次閱讀

    硬件設計技巧:三類GPIO接口的實用指南

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

    不可錯過的三類GPIO硬件設計指南!

    今天我們學習三類GPIO硬件設計,這三類絕對是不可錯過的,本文將把三類設計的重要性展示出來:
    的頭像 發表于 11-04 09:45 ?1440次閱讀
    不可錯過的<b class='flag-5'>三類</b>GPIO硬件設計指南!

    Lua語法基礎教程(中篇)

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

    Verilog語法中運算符的用法

    verilog語法中使用以下兩個運算符可以簡化我們的位選擇代碼。
    的頭像 發表于 10-25 15:17 ?2350次閱讀
    Verilog<b class='flag-5'>語法</b>中運算符的用法

    Lua語法基礎教程(上篇)

    今天我們來學習Lua語法基礎教程。由于篇幅過長,將分為上中下篇進行講解,本篇為上篇。 一、初識Lua Lua 是一種輕量小巧的腳本語言,它用標準C語言編寫并以源代碼形式開放。這意味著什么呢?這
    的頭像 發表于 10-24 07:17 ?734次閱讀

    《DNK210使用指南 -CanMV版 V1.0》第十九章 machine.PWM實驗

    ,Timer對象便不能再做為普通的定時器使用。因為Kendryte K210擁有3個硬件定時器,且每個硬件定時器有4個通道,因此使用machine.PWM最大可以同時產生12路PWM。machine.PWM
    發表于 10-16 09:23

    《DNK210使用指南 -CanMV版 V1.0》第十八章 machine.Timer實驗

    將在后續的章節中進行講解。machine.Timer提供了Timer構造函數,用于創建一個Timer對象,Timer構造函數如下所示:class Timer(id, channel, mode
    發表于 10-16 09:21

    《DNK210使用指南 -CanMV版 V1.0》第十七章 machine.WDT實驗

    將在下一次超時時產生一次看門狗復位,使得系統重新啟動。machine.WDT提供了WDT構造函數,用于創建一個WDT對象,WDT構造函數如下所示:class WDT(id=0, timeout
    發表于 10-15 14:32

    基于ArkTS語言的OpenHarmony APP應用開發:HelloOpenharmony

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

    java子類可以繼承父的什么

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

    HarmonyOS Next原生應用開發-從TS到ArkTS的適配規則(十五)

    } 、不支持with語句 規則:arkts-no-with 級別:錯誤 ArkTS不支持with語句,使用其他語法來表示相同的語義。TypeScript with (Math) { // 編譯
    發表于 08-19 16:13

    HarmonyOS Next原生應用開發-從TS到ArkTS的適配規則(十一)

    一、不支持修改對象的方法 規則:arkts-no-method-reassignment 級別:錯誤 ArkTS不支持修改對象的方法。在靜態語言中,對象的布局是確定的。一個的所有
    發表于 08-02 14:07

    HarmonyOS Next 原生應用開發-ArkTS語法適配背景說明

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

    FPGA學習筆記---基本語法

    Verilog語法是指硬件能夠實現的語法。它的子集很小。常用的RTL語法結構如下: 1、模塊聲明:module ... end module 2、端口聲明:input, output, inout
    發表于 06-23 14:58
    主站蜘蛛池模板: 日韩1级片 | 天天爱天天操 | 亚洲va中文字幕无码 | 亚洲 欧美 日韩 丝袜 另类 | 午夜在线观看网站 | 国产女人小便视频 | 在线免费视频一区二区 | 男女视频在线观看 | 亚洲bt天堂| 国产美女激情视频 | 在线播放国产不卡免费视频 | 久久国产午夜精品理论篇小说 | 黄色自拍偷拍 | 天天综合网站 | 婷婷综合五月中文字幕欧美 | 午夜视频1000部免费看 | 美国色综合 | 一区卡二区卡三区卡视频 | 三级网站免费 | 一级毛片免费全部播放完整 | 午夜禁片 | 天天做天天爱夜夜想毛片 | 国产精品久久久久久久久久妇女 | 美女视频网站免费播放视 | 在线免费观看h视频 | 黄色国产视频 | 波多野结衣在线网站 | 免费一级特黄特色大片在线观看 | 毛片午夜 | 在线永久免费观看黄网站 | 免费手机黄色网址 | 在线一区二区三区 | 夜夜爽天天狠狠九月婷婷 | 人人看人人添人人爽 | 最新版天堂资源中文官网 | 中文字幕一区二区三区精品 | 日日天天夜夜 | 午夜影院普通用户体验区 | 亚洲韩国日本欧美一区二区三区 | 亚洲午夜精品久久久久久人妖 | 国产在线观看色 |