多态的字面含义:具有多种不同的形态。关键字:编译期多态(就是重载或者模板) 和运行期多态int getMax( int param1, int param2 );double getMax( double param1, double param2 );这是重载下面是模板templateT get....
分类:
其他好文 时间:
2015-04-30 17:37:27
阅读次数:
133
每个类都会有一个Class对象,所有的类都是在首次使用时动态加载到JVM中。类加载器首先会检查该类的Class对象是否已经被加载,如果尚未被夹在。默认的类加载器就会根据类名查找.class文件,然后加载该类到内存。他就用来创建这个类的所有对象。
1. Class对象:
1.1 获取一个类的Class对象: Class.forName();或使用类字面常量,这样做在编译期会接受检查,不需...
分类:
编程语言 时间:
2015-04-29 23:32:35
阅读次数:
282
运行时多态性是面向对象程序设计代码重用的一个最强大机制,Java多态性的概念也可以被说成“一个接口,多个方法”。Java实现运行时多态性的基础是动态方法调度,它是一种在运行时而不是在编译期调用重载方法的机制。
方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态...
分类:
编程语言 时间:
2015-04-28 23:02:37
阅读次数:
216
在前面的文章中,我们介绍了编译期多态、params关键字、实例化、base关键字等。本节我们来关注另外一种多态:运行时多态, 运行时多态也叫迟绑定。 ? 运行时多态或迟绑定、动态绑定 在C#语音中,运行时多态也叫方...
分类:
其他好文 时间:
2015-04-28 12:13:19
阅读次数:
181
在前面的文章中,我们介绍了编译期多态、params关键字、实例化、base关键字等。本节我们来关注另外一种多态:运行时多态,运行时多态也叫迟绑定。运行时多态或迟绑定、动态绑定在C#语音中,运行时多态也叫方法重写(overriding),我们可以在子类中overriding基类的同签名函数..
分类:
其他好文 时间:
2015-04-28 12:06:34
阅读次数:
141
在前面的文章中,我们介绍了编译期多态、params关键字、实例化、base关键字等。本节我们来关注另外一种多态:运行时多态, 运行时多态也叫迟绑定。...
分类:
其他好文 时间:
2015-04-28 12:01:52
阅读次数:
170
//---------------------------15/04/25----------------------------
//#41 了解隐式接口和编译期多态
{
// 1:面向对象编程总是以显示接口和运行期多态解决问题:
void doProcessing(Widget& w)
{
if(w.size() > 1...
分类:
编程语言 时间:
2015-04-26 09:28:48
阅读次数:
218
预处理命令:存在于xxx.h文件中#ifndef//防止重复包含#define//定义#endif//结束头文件中不加上预编译指令,造成的重复定义是编译期错误。在实际操作过程中,一般不在头文件中定义变量。某些函数不是为了提供给用户,而是只针对某个其他函数使用,此时不应该把这些函数的声明放在头文件中,...
分类:
编程语言 时间:
2015-04-24 21:00:25
阅读次数:
188
《Effective C++》第七章:模板与泛型编程
了解隐式接口和编译期多态。面向对象编程总是采用显式地声明一个接口,并在子类中提供特殊的实现,进而实现运行期多态。模板类中的接口往往是隐式的,隐式的意思是,编写模板时,假设需要的接口类T中是存在的,至于实例化模板的类是否真的具有该接口,编译时才知道(如果实例化类型没有实现这些接口,则编译失败)。这正是模板多态的展现方式,由实例化模板的类决定具体的行...
分类:
编程语言 时间:
2015-04-23 17:37:54
阅读次数:
141
1,求成员变量的偏移:2,const实现机制:在编译期间完成,对于内置类型,如int, 编译器可能使用常数直接替换掉对此变量的引用。而对于结构体不一定。编译器在优化代码时把j直接优化成64h了,所以虽然p和&j的值一样,但j不再通过访问j的地址输出,而是使用的直接的数。(反汇编时也有看到直接把数字压...
分类:
编程语言 时间:
2015-04-21 07:04:36
阅读次数:
204