本来是准备在工厂模式中顺便整理。但粗略浏览了,内容还是很多,需要单独开一篇。一、什么是多态性? 多态性可以概括为“一个接口,多种方法”。 多态与非多态的区别在于“成员函数调用地址的早绑定和晚绑定”。“早绑定”在编译期就可以确定函数的调用地址,是静态的;“晚绑定”在运行时才能确定函数的调用地址,是.....
分类:
编程语言 时间:
2014-07-16 20:46:22
阅读次数:
214
起源: 试想,如果只写一个单独的排序方法,但可以针对任意类型的对象进行排序,那该多爽啊,JAVA的泛型正是为此类需求而生。简单来说,泛型方法即只声明一个而却可以当作多个方法来使用,泛型类即只声明一个而却可以当作多个类型来使用。 另外,泛型提供了编译期的类型安全性检查以便帮助开发人员捕获到编译期的.....
分类:
编程语言 时间:
2014-07-16 17:40:45
阅读次数:
270
经验:Traits classes 使得"类型相关信息"在编译期可用。它们以 templates 和 "templates 特化"完成实现
示例:
template
class deque{
public:
class iterator{
public:
typedef random_access_iterator_tag iterator_category;
};
};
//template
template
struct iterator_trai...
分类:
编程语言 时间:
2014-07-15 22:40:20
阅读次数:
372
经验:class 和 templates 都支持接口和多态。
对 classes 而言接口是显式的,以函数签名为中心。多态则是通过 virtual 函数发生于运行期
对 templates 参数而言,接口是隐式的,奠基于有效表达式。多态则是通过 templates 具体化和函数重载解析(function overloading resolution)发生于编译期。
示例1:显式接口和运行期多态
class Widget{
public:
Widget();
virtual ~Widget();
vir...
分类:
编程语言 时间:
2014-07-14 12:54:57
阅读次数:
195
javascript是由浏览器解释执行的脚本语言,不同于java c,需要先编译后运行,javascript 由浏览器js解释器进行解释执行,总的过程分为两大块,预编译期和执行期下面的几个demo解释了js解释器对变量和代码的解释过程//#demo1foo();//alert(1)function ...
分类:
编程语言 时间:
2014-07-13 12:43:16
阅读次数:
235
1,Switch 语句内的表达式必须为: byte ,char ,short ,int 这四种之一。
2,使用final关键字修饰一个变量时,是指引用变量不能变,引用变量所指向的对象中的内容还是可以改变的。
例如,对于如下语句:
final StringBuffer a=new StringBuffer("immutable");执行如下语句将报告编译期错误:
a=new StringBu...
分类:
编程语言 时间:
2014-07-09 12:13:32
阅读次数:
231
我们都知道,const和static readonly的确非常像:通过类名而不是对象名进行訪问,在程序中仅仅读等等。在多数情况下能够混用。二者本质的差别在于,const的值是在编译期间确定的,因此仅仅能在声明时通过常量表达式指定其值。而static readonly是在执行时计算出其值的,所以还能够...
分类:
其他好文 时间:
2014-07-03 00:34:49
阅读次数:
282
final可以修饰:属性,方法,类
final修饰的属性的初始化可以在编译期,也可以在运行期,初始化后不能被改变。
final修饰的属性跟具体对象有关,在运行期初始化的final属性,不同对象可以有不同的值。
final修饰的属性表明是一个常数(创建后不能被修改)。
final修饰的方法表示该方法在子类中不能被重写,final修饰的类表示该类不能被继...
分类:
编程语言 时间:
2014-07-02 08:38:27
阅读次数:
158
反射允许我们在编译期或运行时获取程序集的元数据,通过反射可以做到:● 创建类型的实例● 触发方法● 获取属性、字段信息● 延迟绑定...... 如果在编译期使用反射,可通过如下2种方式获取程序集Type类型:1、Type类的静态方法Type type = Type.GetType("somename...
分类:
其他好文 时间:
2014-07-01 16:38:29
阅读次数:
232
程序绑定的概念:绑定指的是一个方法的调用与方法所在的类(方法主体)关联起来。对java来说,绑定分为静态绑定和动态绑定;或者叫做前期绑定和后期绑定静态绑定(早绑定 编译器绑定):在程序执行前方法已经被绑定,此时由编译器或其它连接程序实现。例如:C。针对java简单的可以理解为程序编译期的绑定;这里特...
分类:
编程语言 时间:
2014-06-27 11:22:43
阅读次数:
213