类型是关于结构或行为属性的准确描述,一组实体共享这些属性。类似是关于一个对象的类的强制规定,不同的类
型的对象不能互换使用,或者至少它们的互换使用受到非常严格的限制。
编程语言可以是强类型、弱类型甚至无类型的,但都可以被称为是面向对象的。例如:JAVA便是强类型。
可能在这个地方,不好理解什么是强类型,什么是弱类型,下面举个例子:
在弱类型语言VBS中
a=1;
b = a + "1" +"a";
c= a+1;
执行结果是:a=1; b=11a; c=2; 在第2条语句时,第一个a自动转换成了字符串,在第3条语句时,a却又变成了int。
a这个变量没有强制性的一个类型说明,任意随着条件的变化而变化。
在强类型语言JAVA中
int a = 1;
String b = String.valueOf(a) + "1" + "a";
int c = a + 1;
虽然执行结果与弱类型一致,但是a,b,c这些变量声明时,有严格的类型。同一类型才可以相互操作,当然类型之间也
提供了一些转换规则,但绝对没有弱类型那么随便。注意:类型并不一定指的是int,String这些,UserInfoT这些也
算。
使用强类型语言的好处:
1、如果没有类型检查,大部分语言的程序可能在运行时以神秘的方式“崩溃”;
2、在大多数系统中,编辑--编辑--调试循环相当繁琐,所以在早期就进行类型的错误检查是必不可少的。
3、类型什么有助于为程序编写文档;
4、如果什么类型,大部分编译器可以生成更有效率的目标代码。
类型的静态与动态:是指名字与类型绑定的时间。静态类型(也被称为静态绑定或早期绑定):
所有的变量和表达的类型在编译时就固定了。
动态类型(也被称为迟后绑定):
所有的变量和表达式的类型直到运行时刻才知道。
类型的强与弱和类型的静态与动态的概率是完全不同的。类型的强与弱指的是类型一致性,而类型的静态与动态指的
是名字(或者说变量)与类型绑定的时间。
多态是动态类型和继承相互作用时出现的一种情况,多态代表了类型理论中的一个概念,即一个名字(如一个变量声
明)可以代表许多不同类的对象,这些类具有某个共同的超类。(面向父类编程),这个名字所代表的对象可以响应
一组共同的操作。多态也是面向对象设计中的核心概念。