黑马程序员技术交流社区

标题: 强类型与弱类型的区别? [打印本页]

作者: -淡然一笑    时间: 2014-1-13 11:12
标题: 强类型与弱类型的区别?
本帖最后由 -淡然一笑 于 2014-1-14 15:02 编辑

大家谈谈强类型与弱类型语言的区别?

作者: 付江涛    时间: 2014-1-13 12:22
弱类型的语言的东西没有明显的类型,他能随着环境的不同,自动变换类型。
而强类型则没这样的规定,不同类型间的操作有严格定义,只有相同类型的变量才能操作,虽然系统也有一定的默认转换,当绝没有弱类型那么随便。
作者: 沈可    时间: 2014-1-13 13:47
强类型就是必须声明变量类型,然后才可以赋值;弱类型不用声明什么类型,就直接赋值 。但是弱类型极大地破坏了封装,使得对象这个概念被很大程度上破坏了。它不比多态,弱类型对象可以装载任何类型的东西,而前者起码能够保证注类型(class)的存在。
作者: 师弟    时间: 2014-1-13 14:52
强类型比较严格,C#是强类型的,JavaScript 是弱类型,数据类型是严格要求,定义上的不同,还有就是使用不同,像JavaScript解释性语言弱类型的使用比较方便,这还需要长时间的体验啊
作者: 念~    时间: 2014-1-13 16:51
慢慢体验 JavaScript 和 C#/java/c++等语言的区别就晓得了,,说是说不清的
作者: 矫情    时间: 2014-1-14 10:08
---强类型-------
是自定义类所具有的优势。它使得对象处理的数据更容易被理解,而不需要与ADO.NET和XML编程模型打交道。这在大型系统里是很有用的,特别是当设计者定义了由自定义类所组成的数据访问层,并把设计向组织内的其他程序员发布的时候。当然,现在自定义类的使用有下降的趋势:它们需要编更多的代码,因为你必须创建.NET Framework所缺少的对象关系映射层。

强/弱类型是指类型检查的严格程度的。语言有无类型,弱类型和强类型三种。无类型的不检查,甚至不区分指令和数据。弱类型的检查很弱,仅能严格的区分指令和数据。强类型的则严格的在编译期进行检查。

C# 是强类型语言;因此每个变量和对象都必须具有声明类型。
为所有变量指定数据类型称为“强类型”。


在.NET中使用强类型有以下优点:
1.它为变量启用 IntelliSense? 支持。这允许您在输入代码时看到变量的属性和其他成员。
2.它会运用编译器类型检查。这将捕捉到因溢出等错误而在运行时失败的语句。这也可以在不支持方法的对象上捕捉对方法的调用。
3.执行速度更快



简单点:假设你在c#代码中,你定义了一个整型变量后,就不能赋一个字符型数据给这个变量
(除非你用强制类型转换)

弱类型就像javascript
var 可以接受任何类型





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2