[問題] 關於強型態語言定義的問題

作者: cat99961 (阿湯)   2017-01-19 21:34:12
請問我唸書時念到有關於強型態語言的定義,擷取部分內容如下:
強勢型態程式語言符合下列要求:
1. 每一個變數都靜態地繫結到單一資料型態
2. 變數資料型繫結後,在程式執行過程不能修改其資料型態
3. 當允許一個變數儲存不同資料型態之值時,其值的型態可以靜態地或動態地檢查出來
4.....
5....
請問這1、2點和第3點不是互相矛盾嗎?前2點說一個變數只能是單一資料型態,
且型態不能修改,第3點又說允許一個變數存不同資料型態
請問有誰可以告訴我呢?
關於第3點可否舉例讓我明白呢?
感激不盡…
作者: CoNsTaR ((const *))   2017-01-19 23:15:00
1. 在有 subtyping 的情況下是不對的例如數字 2 是 Integer 也是 Number2. 在 type 是 first-class value 的語言中是不對的3. 我猜他指的是類似 C 語言的 union 的東西維基百科說強、弱型別沒有明確的定義不過我私心認為會在編譯時期做 type check 的語言就屬於強型別了我發現我回錯版了 我以為這是 C 版 orz那 3. 指的應該是 Haskell 的 either 吧~
作者: cass (cass)   2017-06-23 13:37:00
符合123的例子就是指向base class的pointer或reference(c++)

Links booklink

Contact Us: admin [ a t ] ucptt.com