转载请注明出处:
该博文仅用于交流学习,请慎用于任何商业用途,本博主保留对该博文的一切权利。
博主博客:http://blog.csdn.net/qq844352155
什么是方法重载?
方法重载也可以说是函数重载,函数的多态性。
具体来说就是将函数或者方法的名称用于多个函数,但是参数的类型或者参数的数目不同。
在这篇blog里面我只讨论类外函数的重载。
例如一个简单的例子:...
分类:
编程语言 时间:
2014-06-16 14:09:18
阅读次数:
337
封装、继承、多态,面向对象的三大特性,前两项理解相对容易,但要理解多态,特别是深入的了解,对于初学者而言可能就会有一定困难了。我一直认为学 习OO的最好方法就是结合实践,封装、继承在实际工作中的应用随处可见,但多态呢?也许未必,可能不经意间用到也不会把它跟“多态”这个词对应起来。在此 抛砖引玉,大家...
分类:
其他好文 时间:
2014-06-16 13:58:56
阅读次数:
254
接口是更加抽象的抽象的类,抽象类里的方法可以有方法体,接口里的所有方法都没有方法体。接口体现了程序设计的多态和高内聚低耦合的设计思想。接口——注意事项接口不能被实例化接口中的所有方法都不能有主体,如voidaaa(){};抽象类中抽象方法不能有主体,而非抽象方法可以有主体!!!一个类可以有多个接口接...
分类:
其他好文 时间:
2014-06-15 20:51:07
阅读次数:
123
虚函数:虚函数机制的实现是通过虚函数表和指向虚函数表的指针(存放在对象的空间中)来完成的。
1)空间方面:每个类只用一个虚函数表的拷贝,故其占用的空间不是很大。
2)时间方面:虚函数的调用开销包括两次整型加法和一次指针间接引用的开销。
其动态绑定的实现步骤如下:
(a)根据对象的虚指针VPtr找到该对象对应的虚函数表VTable,所需的开销仅是一次偏移量调整(整型加法)加上一次指针间接运算...
分类:
其他好文 时间:
2014-06-15 14:35:31
阅读次数:
251
为了支持c++的多态性,才用了动态绑定和静态绑定。理解他们的区别有助于更好的理解多态性,以及在编程的过程中避免犯错误。需要理解四个名词:1、对象的静态类型:对象在声明时采用的类型。是在编译期确定的。2、对象的动态类型:目前所指对象的类型。是在运行期决定的。对象的动态类型可以更改,但是静态类型无法更改...
分类:
编程语言 时间:
2014-06-15 11:47:11
阅读次数:
206
请记住:(1)polymorphic(带多态性质的)base classes应该声明一个virtual析构函数。如果class声明一个virtual函数,它就应该拥有一个virtual析构函数。(2)class的设计目的如果不是作为base classes使用,或不是为了具备多态,就不应该声明vir...
分类:
编程语言 时间:
2014-06-14 20:19:05
阅读次数:
221
面向对象三特性:封装,继承,多态var没有确定类型,类似于javascript的varis相当于JAVA的instanceofasEmployeee=oasEmployee;把o转换成Employee,转换不了返回空sizeof获取值类型的字节大小sizeof(int)typeof获取Type对象t...
分类:
其他好文 时间:
2014-06-13 17:54:40
阅读次数:
257
这篇博客“http://blog.csdn.net/haoel/article/details/1948051/”比较深度介绍了虚函数表解析。C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让...
分类:
编程语言 时间:
2014-06-12 20:06:06
阅读次数:
446
1.在普通情况下,指向一种类型对象的指针不同意指向还有一种类型的对象,然而指向基类对象的指针能够指向该基类的共同拥有派生类对象(反过来不成立),这是执行时,多态的基础。指向基类队象的指针指向派生类对象后,能够訪问派生类中有基类继承下来的成员,但不能訪问那些派生类对象自己添加?的成员。2.一个含有虚函...
分类:
编程语言 时间:
2014-06-12 12:54:25
阅读次数:
213