编程语言按照数据类型大体可以分为两类,一类是静态类型语言,另一类是动态类型语言。
静态类型语言在编译时便已确定变量的类型,而动态类型语言的变量类型要到程序运行的时候,待变量被赋予某个值之后,才会具有某种类型。...
分类:
编程语言 时间:
2015-05-21 17:32:52
阅读次数:
209
如果类继承中重新定义了虚函数,那么虚函数中的缺省参数不要重新定义。
用一句话来解释原因就是:虚函数是动态绑定的(dynamically bound),但是缺省参数却是静态绑定的(statically bound)。
静态类型和动态类型
首先需要了解什么是对象的静态类型和动态类型,对象的所谓静态类型(static type),就是它在程序中被声明时所采用的类型。
以下面的类为例:
clas...
分类:
其他好文 时间:
2015-05-20 18:36:00
阅读次数:
210
Microsoft.Framework.DependencyInjection.Autofac源码分析该工程只有一个代码静态类AutofacRegistration,但是该类有3个扩展方法,以及3个内部类。扩展方法如下:public static class AutofacRegistration ...
分类:
Web程序 时间:
2015-05-18 18:30:09
阅读次数:
157
class A
{
int m_i;
public:
static void f()
{
m_i=666; //这是非法的,这个等价于this->m_i=666,而静态方法没有this
}
static void f(A&a)
{
a.m_i=666; //这样就可以
}
};静态成员函数不属于任何一个类...
分类:
其他好文 时间:
2015-05-17 23:40:37
阅读次数:
167
1、文件操作常用相关类a)File //操作文件,静态类,对文件整体操作。拷贝、删除、剪切等。b)Directory //操作目录(文件夹),静态类c)DirectoryInfo //文件夹的一个“类”,用来描述一个文件夹对象d)FileInfo //文件类,用来描述一个文件对象e)Path...
扩展方法(1)扩展方法是一种特殊的静态方法,它定义在一个静态类中,但可以在其他类的对象上向调用实例方法那样进行调用。因此,通过扩展方法,我们就可以在不修改一个类型的前提下对一个类型进行功能上的扩充,这种方法并不会产生新的类型,而是采用向已有类中加入新方法的方式来完成功能的扩展。(2)在对已有类进行扩...
分类:
Web程序 时间:
2015-05-15 15:02:07
阅读次数:
126
1. 静态方法 VS 实例方法 2. 静态类 (1)常见的静态类:Math、Console、Convert (2)静态类中只能包括静态成员、静态构造函数、常量成员,不能有实例成员,不能有普通构造函数 (3)静态构造函数不能有参数、不能有访问修饰符(默认为private) 静态构造函数的...
分类:
其他好文 时间:
2015-05-13 19:15:59
阅读次数:
138
在阎宏博士的《JAVA与模式》一书中开头是这样描述访问者(Visitor)模式的: 访问者模式是对象的行为模式。访问者模式的目的是封装一些施加于某种数据结构元素之上的操作。一旦这些操作需要修改的话,接受这个操作的数据结构则可以保持不变。分派的概念 变量被声明时的类型叫做变量的静态类型(Stati.....
分类:
编程语言 时间:
2015-05-13 19:04:33
阅读次数:
255
多态允许不同的类定义相同的方法 动态类型程序直到执行时才能确定所属的类 静态类型将一个变量定义为特定类的对象时,使用的是静态形态 将一个变量定义为特定类的对象时,使用的是静态类型,在编译的时候就知道这个变量所属的类,这个变量总是存储特定类的对象。使用静态类型时,编译器尽可能的确保变量的...
分类:
其他好文 时间:
2015-05-13 18:50:51
阅读次数:
123