20 4 案例分析 貨幣(抽象型別的應用)

2022-01-26 06:16:07 字數 1552 閱讀 1519

這個案例很好地解釋了scala中抽象型別的應用。我們的任務是設計乙個currency類。乙個典型的currency例項可以用來代表以美元、歐元、日元或其他貨幣表示的金額。它應該支援對貨幣金額的計算。例如,應該能將相同貨幣額度的兩筆金額相加,或者可以用表示利率的因子對某筆貨幣金額做乘法。同時新增兩個改良點,一、支援子單位;二、支援貨幣轉換的功能。

①抽象類currencyzone

abstract class currencyzone 

//入參n為1單位貨幣包含的amount,如1美元的amount為100,val dollar = make(100)。

private def decimals(n: long): int = if (n == 1) 0 else 1 + decimals(n / 10)

//amount需除以1單位包含的amount顯示

override def tostring: string =

((amount.todouble / currencyunit.amount.todouble) formatted("%." + decimals(currencyunit.amount) + "f")

+ " " + designation)

} }

②匯率轉換物件

object converter

③美元物件

object us extends currencyzone 

override type currency = dollar

override def make(cents: long): dollar = new dollar

val cent = make(1)

val dollar = make(100)

val currencyunit = dollar

}

④歐元物件

object europe extends currencyzone 

override type currency = euro

override def make(cents: long): euro = new euro

val cent = make(1)

val euro = make(100)

val currencyunit = euro

}

⑤日元物件

object japan extends currencyzone

override type currency = yen

override def make(yen: long): yen = new yen

val yen = make(1)

val currencyunit = yen

}

⑥測試類

object test 

}

控制台輸出

12110 jpy

75.95 eur

99.95 usd

199.95 usd

10案例分析

銀行 信用風險,即客戶違約風險,是銀行風險管控的主要內容。不同行業,不同企業,財務指標的風險程度不同。假資料,假資訊,假報表的現象,財務資訊的質量問題有三個方面是非常重要的 1.建立識別假報表的管理體系 2.研究建立財務資訊的勾稽關係,即通過相互之間的購機關係的檢驗來判別資料的質量 3.建立資料的錄...

3 20210405 1 案例分析作業

這個作業屬於哪個課程 軟工 2018級計算機二班 這個作業要求在 3 20210405 1 案例分析作業 這個作業的目標 學會對產品的調研和分析 學號20188434 目錄第二部分 分析 參考8.6節對工作的估計,和14.1節軟體工程的質量 第三部分 建議和規劃 參考 構建之法 第8章功能的定位和優...

個人作業3 案例分析

簡潔大方,給人一種一目了然的感覺,功能也比較齊全,例如充值網費,校園卡,課表查詢,成績查詢,還有微博朋友圈的功能,全校所有人都能在上面發表言論。介紹採訪物件的背景和需求 描述使用者使用這個產品的過程,使用者的問題解決了麼?軟體在資料量 介面 功能 準確度上各有什麼優缺點?使用者體驗方面有問題麼?使用...