精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

    瀏覽量

    6411
  • Chisel
    +關注

    關注

    0

    文章

    7

    瀏覽量

    452
收藏 人收藏

    評論

    相關推薦

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

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

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

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

    java子類可以繼承父的什么

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

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

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

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

    Verilog語法是指硬件能夠實現的語法。它的子集很小。常用的RTL語法結構如下: 1、模塊聲明:module ... end module 2、端口聲明:input, output, inout
    發表于 06-23 14:58

    鴻蒙語言TypeScript學習第16天:【

    TypeScript 支持面向對象的所有特性,比如 、接口等。
    的頭像 發表于 04-15 09:29 ?967次閱讀
    鴻蒙語言TypeScript學習第16天:【<b class='flag-5'>類</b>】

    #2024,立Flag了嘛? #學習spinal HDL還需要學習對應的Scala語言

    學習spinal HDL還需要學習對應的Scala語言,但是spinal HDL直接貼近硬件編程,不知道對于學習spinal HDL有什么好的建議?
    發表于 01-21 11:11

    #2024,立Flag了嘛? # 開年之疑問重重

    選擇SpinalHDL、chisel還是verilog HDL作為開發語言,上周FPGA大佬跟幾個在IC設計公司的同學吃飯后,聊了一下發現對應的行業標桿的公司導入了spinalHDL作為開發語言
    發表于 01-13 09:18

    vb運行時錯誤429不能創建對象

    系統中已經安裝了對象所依賴的組件或庫。如果缺少這些組件或庫,就會導致不能創建對象的錯誤。解決這個問題的方法是安裝所需的組件或庫。 對象或程序集不存在:如果要創建的
    的頭像 發表于 01-09 11:07 ?2162次閱讀

    穩壓電源一三類區別

    穩壓電源一、二三類是指按照供電設備的直流輸出偏差范圍和抗干擾能力對穩壓電源進行分類的方法。下面將詳細介紹穩壓電源一、二
    的頭像 發表于 12-28 17:54 ?8711次閱讀

    基于C/C++面向對象的方式封裝socket通信流程簡析

    在掌握了基于 TCP 的套接字通信流程之后,為了方便使用,提高編碼效率,可以對通信操作進行封裝,本著有淺入深的原則,先基于 C 語言進行面向過程的函數封裝,然后再基于 C++ 進行面向對象封裝。
    的頭像 發表于 12-26 10:00 ?1747次閱讀

    基于C/C++面向對象的方式封裝socket通信

    在掌握了基于 TCP 的套接字通信流程之后,為了方便使用,提高編碼效率,可以對通信操作進行封裝,本著有淺入深的原則,先基于 C 語言進行面向過程的函數封裝,然后再基于 C++ 進行面向對象封裝。
    的頭像 發表于 12-26 09:57 ?1285次閱讀

    oracle和mysql語法區別大嗎

    Oracle和MySQL是兩種不同的關系型數據庫管理系統(RDBMS)。雖然它們都是遵循SQL標準,但在語法和特性上仍存在一些區別。以下是對Oracle和MySQL語法區別的詳細說明: 數據類型
    的頭像 發表于 12-06 10:26 ?1122次閱讀

    oracle的update語法

    Oracle是一種強大的關系型數據庫管理系統,具有廣泛的應用,UPDATE語句是用于修改數據庫中現有記錄的重要操作之一。在本文中,我們將詳細介紹Oracle的UPDATE語法及其用法。 首先,我們
    的頭像 發表于 12-05 16:22 ?2347次閱讀

    this可以出現在方法中嗎

    是的, this 關鍵字可以出現在方法中。在Java中, this 是一個引用,用于引用當前對象的實例。它可以在的實例方法中使用,以訪問該實例的成員變量和方法。 當在方法中使
    的頭像 發表于 11-28 16:24 ?1328次閱讀