[问题] 关于强型态语言定义的问题

楼主: 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