A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© -淡然一笑 中级黑马   /  2014-1-13 11:12  /  1679 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 -淡然一笑 于 2014-1-14 15:02 编辑

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

评分

参与人数 1技术分 +1 收起 理由
茹化肖 + 1

查看全部评分

5 个回复

倒序浏览
弱类型的语言的东西没有明显的类型,他能随着环境的不同,自动变换类型。
而强类型则没这样的规定,不同类型间的操作有严格定义,只有相同类型的变量才能操作,虽然系统也有一定的默认转换,当绝没有弱类型那么随便。

评分

参与人数 1技术分 +1 收起 理由
茹化肖 + 1

查看全部评分

回复 使用道具 举报
强类型就是必须声明变量类型,然后才可以赋值;弱类型不用声明什么类型,就直接赋值 。但是弱类型极大地破坏了封装,使得对象这个概念被很大程度上破坏了。它不比多态,弱类型对象可以装载任何类型的东西,而前者起码能够保证注类型(class)的存在。

评分

参与人数 1技术分 +1 收起 理由
茹化肖 + 1

查看全部评分

回复 使用道具 举报
强类型比较严格,C#是强类型的,JavaScript 是弱类型,数据类型是严格要求,定义上的不同,还有就是使用不同,像JavaScript解释性语言弱类型的使用比较方便,这还需要长时间的体验啊

评分

参与人数 1技术分 +1 收起 理由
茹化肖 + 1

查看全部评分

回复 使用道具 举报
慢慢体验 JavaScript 和 C#/java/c++等语言的区别就晓得了,,说是说不清的
回复 使用道具 举报
---强类型-------
是自定义类所具有的优势。它使得对象处理的数据更容易被理解,而不需要与ADO.NET和XML编程模型打交道。这在大型系统里是很有用的,特别是当设计者定义了由自定义类所组成的数据访问层,并把设计向组织内的其他程序员发布的时候。当然,现在自定义类的使用有下降的趋势:它们需要编更多的代码,因为你必须创建.NET Framework所缺少的对象关系映射层。

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

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


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



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

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

评分

参与人数 1技术分 +1 收起 理由
茹化肖 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马