强类型和弱类型,静态类型和动态类型语言如何区分

强类型和弱类型

如果一门语言很少隐式转换类型,说明他是强类型语言。如果经常这么做,说明他是弱类型语言。java, c++和python是强类型语言。PHP,JavaScript和Perl是弱类型语言

静态类型和动态类型

在编译时检查类型的语言是静态类型语言,在运行时检查类型的语言是动态语言。静态类型需要声明类型。Fortran和Lisp是最早的两门语言。他们分别是静态类型语言和动态类型语言。

静态类型使得一些工具编译器和ide便于分析代码,找出错误和提供其他服务(优化,重构,等等)。动态类型便于代码重用,代码行数更少,而且能让接口自然成为协议而不提早实行。

原文地址:https://www.cnblogs.com/lgh344902118/p/8384029.html

时间: 2024-10-18 21:22:13

强类型和弱类型,静态类型和动态类型语言如何区分的相关文章

黑马程序员---OC基础5【点语法】【@property关键字】【@synthesize关键字】【id类型】【动态类型】【构造方法】

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- [点语法] 1 1.使用“点语法” 2 Student *stu= [[Student alloc]init]; 3         //调用set方法 4         [stu setAge:20]; 5         [stu setName:@"Jone"]; 6         //点语法:xcode的特性,Xcode帮我们做了代码替换 7         //点语法,

强类型,弱类型,动态类型,静态类型

"C and C++ are considered weakly typed since, due to type-casting, one can interpret a field of a structure that was an integer as a pointer." 我当前使用的开发语言为C/C++,为弱类型语言,主要因为: 1. 一些编程语言(例如C/C++)将指针暴露为数字值,并允许用户对它们执行算术运算.这些语言有时被称为"弱类型",因为指针

静中有动-动态类型

在C#4.0中,最核心的特性莫过于动态类型的引入. 1.动态类型简介 一直在强调C#是一门静态类型的语言,因为它在定义变量时要明确给出变量的类型.例如在int i=5;这样的代码中,int就是变量i的类型,如果定义变量时没有明确指定变量的类型,则这样的代码是通过不了编译的. 在C#4.0中,微软引入了dynamic关键字来定义动态类型.当我们使用由dynamic关键字限制的变量时,编译器并不知道它的类型,该类型只能在程序运行的时候才能被确定.动态类型的定义如下面的代码所示: dynamic i=

动态类型语言 vs 静态类型语言

本文内容 Dynamically Typed Language(动态类型语言) Statically Typed Language(静态类型语言) 比较 参考资料 类型检查所进行的检验处理以及实行类型的约束,可发生在编译时期(静态检查)或运行时期(动态检查).静态类型检查是在编译器所进行语义分析中进行的.如果一个语言强制实行类型规则就称此处理为强类型(或静态类型),反之称为弱类型(或动态类型). Dynamically Typed Language(动态类型语言) 所谓动态类型语言,就是类型的检

Dapper逆天入门~强类型,动态类型,多映射,多返回值,增删改查+存储过程案例演示

Dapper的牛逼就不扯蛋了,答应群友做个入门Demo的,现有园友需要,那么公开分享一下: 完整Demo:http://pan.baidu.com/s/1i3TcEzj 注 意 事 项:http://www.cnblogs.com/dunitian/p/5221058.html 平台之大势何人能挡? 带着你的Net飞奔吧! http://www.cnblogs.com/dunitian/p/4822808.html#skill 先安装一下Dapper(建议用nuget包来管理) 连接字符串: s

面向对象的JavaScript --- 动态类型语言

面向对象的JavaScript --- 动态类型语言 动态类型语言与面向接口编程 JavaScript 没有提供传统面向对象语言中的类式继承,而是通过原型委托的方式来实现对象与对象之间的继承. JavaScript 也没有在语言层面提供对抽象类和接口的支持. 正因为存在这些跟传统面向对象语言不一致的地方,我们在用设计模式编写代码的时候,更要跟传统面向对象语言加以区别.我们有必要先了解一些 JavaScript 在面向对象方面的知识. 编程语言按照数据类型大体可以分为两类,一类是静态类型语言,另一

c++知识点总结--静态与动态类型

对象的静态类型(static type),就是它在程序中被声明时所采用的类型 对象的动态类型(dynamic type)是指“目前所指对象的类型” vitual 函数是动态绑定而来,调用一个virtual函数时,究竟调用哪一个函数实现,取决于发出调用的那个对象的动态类型 class Shape{ public: enum ShapeColor{ Red, Green, Blue = 1, Org }; void printColor(){ cout << Red << Green

Object-C中动态类型对象相关操作汇总

Object-C(以后简称OC)中有id类型,相对于明确定义类型的静态类型,称为动态类型. 使用动态类型,配合多态(不同类型拥有同名方法),动态绑定(运行时决定实际调用的方法)可以将很多判断延迟到运行时决定,比如运行时才决定对象是某个类型,决定调用哪个类型的方法等.这样提高了灵活性,但是同样带来了风险,所以和支持动态类型的其他面向对象的语言一样,需要提供机制来做运行时判断,这样可以一定程度规避运行时错误. 看到一个动态类型的实例对象,我们都会习惯提出的问题: 1. 这个对象是属于某个类么?或者这

C++ 对象的静态类型与动态类型

在C++当中:因为出现了继承: 继承导致对象的指针和引用具有两种不同的类型: 静态类型 和 动态类型 . 静态类型 :指针或者是引用声明时的类型. 动态类型 :由他实际指向的类型确定. class Base { } class Derived:public Base { } Base* base //base的静态类型是 Base* = new Derived;//base的动态类型是 Derived* Derived* derived //derived的静态类型是 Derived* = ne