02. oc语言是动态语言????

参照着知乎上大神们给的解释,(https://www.zhihu.com/question/19918532)自己要总结下知识:

自己初级并没有理解 动态、静态、强类型、弱类型 语言的这些含义,区分。 趁着近来有些零散的时间,赶紧补充下自己……

1. 动态编程语言

是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化。

比如众所周知的ECMAScript(JavaScript)便是一个动态语言。 除此之外如Ruby、Python等也都属于动态语言。

2 . 静态语言

与动态类型语言正好相反,在编译时,需要确定类型的语言。即写程序时需要明确声明变量类型。如C/C++、Java、C#等。

静态语言 对类型有着绝对的要求,所以能非常棒的被约束!

3 . 强类型语言

一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。强类型定义语言是类型安全的语言。

4. 弱类型定义语言

数据类型可以被忽略的语言。它与强类型定义语言相反, 一个变量可以赋不同数据类型的值。
  强类型定义语言在速度上可能略逊色于弱类型定义语言,但是强类型定义语言带来的严谨性能够有效的避免许多错误。

像vb,php等就属于弱类型语言

综上所述:

oc 语言中,如id类型 应该是标致性的: 在运行是才确定类型的;

同时 oc 类型 是需要转化才能改变类型的,可以举个例子 ,string.format (%d,number);

时间: 2024-11-02 01:58:58

02. oc语言是动态语言????的相关文章

解释型语言和编译型语言、弱类型语言和强类型语言、动态语言和静态语言的区别

计算机是不能理解除了机器语言以外的任何语言所以必须要把程序员所写的程序语言都翻译成机器语言才能执行程序.程序语言翻译成机器语言的工具,叫做翻译器. 编程语言  ————> 翻译器  ————> 计算机语言(二进制) 翻译器翻译的方式有两种:一是 编译,二是 翻译.两种方式之间对区别在于翻译的时间点不同. 编译器:是在代码执行之前进行编译,生成中间代码文件 解释器:是在运行时进行及时解释,并立即执行(当编译器以解释方式运行的时候,也称之为解释器) 举个栗子: 编译型语言:就像是请客的时候要先把所

静态语言和动态语言

基本概念 静态语言(强类型语言) 静态语言是在编译时变量的数据类型即可确定的语言,多数静态类型语言要求在使用变量之前必须声明数据类型. 例如:C++.Java.Delphi.C#等. 动态语言(弱类型语言) 动态语言是在运行时确定数据类型的语言.变量使用之前不需要类型声明,通常变量的类型是被赋值的那个值的类型. 例如PHP/ASP/Ruby/Python/Perl/ABAP/SQL/JavaScript/Unix Shell等等. 强类型定义语言 强制数据类型定义的语言.也就是说,一旦一个变量被

编译型语言,解释型语言,静态语言,动态语言概念

编译语言和解释语言 1.编译语言: 需要通过编译器(compiler)将源代码编译成机器码,之后才能执行的语言. 一般需经过编译,链接两个步骤: 编译:把原代码编译成机器码 链接:把各个模块和依赖库串起来生成可执行文件. 优点: 编译器一般会有预编译的过程对代码进行优化.因为编译只做一次,运行时不需要编译,所以编译型语言的程序执行效率高.可以脱离语言环境独立运行. 缺点: 编译之后如果需要修改就需要整个模块重新编译.编译的时候根据对应的环境生成机器码,不同的操作系统之间移植会有问题,需要根据运行

对静态语言和动态语言的初步认识

自己一直从事Java开发,在进行java开发web程序时,也用到javascript这样的脚本语言.javascript是一种动态语言,主要是基于浏览器解析并运行,最开始的时候这门语言并不是叫做javasript,而后来为什么javascript呢?主要是因为商业运作的考虑.当时javaweb开发风声水起,为了提高自己的知名度,因此改名为javascript.若是平时用的是java开发项目的,用javascript开发程序还是挺不是适应.首先java是编译器编译后,然后在根据平台的jvm上运行,

动态语言、静态语言及动态语言的“鸭子类型“

动态语言与静态语言: 所谓动态和静态,是指程序中类型.类型又是指class,int等定义,比如变量的类型,函数的入参类型,返回值类型.动态类型语言,表示在编写程序的时候,无需制定类型,是运行时检查:静态类型语言,表示在编写程序的时候,需要显式地制定各种类型,在编译的时候就会被检查. 有人说静态类型语言叫强类型语言,是指需要进行变量/对象类型声明的语言,一般情况下需要编译执行. 例如C/C++/Java/C# 有人说动态类型语言叫弱类型语言,是指不需要进行变量/对象类型声明的语言,一般情况下不需要

python——静态语言、动态语言、强类型语言、弱类型语言、脚本语言、解释型语言、编译型语言

静态语言 在编写代码时,必须为变量指定一个明确类型的语言.比如Java.C/C++ 动态语言 在编写代码时,不必为变量指定一个明确的类型,而是由解释器在运行时根据变量的使用情况确定变量的类型.比如python.javascript #python的动态特性 m = 10; m = 'hello' print m #print 'hello' 强类型语言 变量必须有一个确定的类型.比如Java.C/C++.python 弱类型语言 在运行时,变量不必按它原来的类型使用,可以当做其他类型来使用,比如

静态语言与动态语言,强类型语言与弱类型语言

Dynamic Programming Language (动态语言或动态编程语言) Dynamically Typed Language (动态类型语言) Statically Typed Language (静态类型语言) 动态语言,准确地说,是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化.比如众所周知的ECMAScript(JavaScript)便是一个动态语言.除此之外如Ruby.Python等也都属于动态语言,而C.C++等语言则不属于动态语言

20_03_06_02 编程语言的分类—静态语言和动态语言

动态语言和静态语言 动态类型语言 1. 运行期间才去做数据类型检查的语言 2. 用动态类型的语言编程时,不用给任何变量指定数据类型 3. 动态类型语言会在第一次赋值给变量时,将内部数据类型记录下来 4. python是典型的动态类型语言 静态类型语言 1. 与动态类型语言刚好相反 2. 数据类型在编译期间检查,写程序时要声明所有变量的数据类型,C/C++是静态类型语言的典型代表 原文地址:https://www.cnblogs.com/azxsdcv/p/12424954.html

【动态语言和静态语言】动态语言和静态语言的认识,定义

源:http://www.cnblogs.com/spmxlBlog/archive/2010/06/28/1766832.html 定义: 强类型语言(静态类型语言)是指需要进行变量/对象类型声明的语言,一般情况下需要编译执行. 例如C/C++/Java/C# 弱类型语言(动态类型语言)是指不需要进行变量/对象类型声明的语言,一般情况下不需要编译(但也有编译型的). 例如PHP/ASP/Ruby/Python/Perl/ABAP/SQL/JavaScript/Unix Shell等等.