子类如果重新定义了父类的non-virtual函数则不会有多态效果。为方便描述,这里的方法和继承方式都用public。至于原因嘛,你懂的!1:子类直接继承父类方法class BaseOption{public: void Function();};void BaseOption::Functi...
分类:
编程语言 时间:
2014-07-16 22:53:36
阅读次数:
235
/** * Created by rabbit on 2014-07-10. */ abstract class student { public abstract void study(); public abstract void sleep(); } class Ba...
分类:
其他好文 时间:
2014-07-16 21:45:12
阅读次数:
153
重载和重写搞的差不多了,隐藏有有点混乱了,在此记一下,留作后看成员函数被重载的特征(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;(4)virtual 关键字可有可无。重写(覆盖)是指派生类函数覆盖基类函数,--这是c++多态的标志,虚函数赋零则变成虚基类(纯粹的接口申明类),...
分类:
其他好文 时间:
2014-07-16 20:50:54
阅读次数:
131
本来是准备在工厂模式中顺便整理。但粗略浏览了,内容还是很多,需要单独开一篇。一、什么是多态性? 多态性可以概括为“一个接口,多种方法”。 多态与非多态的区别在于“成员函数调用地址的早绑定和晚绑定”。“早绑定”在编译期就可以确定函数的调用地址,是静态的;“晚绑定”在运行时才能确定函数的调用地址,是.....
分类:
编程语言 时间:
2014-07-16 20:46:22
阅读次数:
214
黑马程序员--鄢振东----------------------ASP.Net+Unity3D游戏开发、.Net培训、期待与您交流! ----------------------1:接口是一种规范。只要一个类继承了一个接口,这个类就必须实现这个接口中所有的成员2:为了多态。 接口不能被实例化。也就是...
分类:
其他好文 时间:
2014-07-16 20:22:07
阅读次数:
249
多态性(polymorphism)是指允许通一个函数(或是操作符)有不同版本,对于不同的对象执行不同的版本。c++支持一下两种多态(1)编译时的多态性,表现为函数名(或操作符)的重载。(2)运行时的多态性,表现为派生类和虚函数来实现。函数名重载:编译器能够比较具有同名函数的特征,通过识别实参的数目和...
分类:
编程语言 时间:
2014-07-16 20:15:53
阅读次数:
186
多态性是C++的一个重要特性,【不扯淡直接进入正题】 灵活运用多态,首先得知道类之间的继承。 当B继承了A类后,一般都是公有继承。 B的实例化对象的内存空间结构若是了解 就可以合理利用多态了。 A的内存空间我们假定为a, B的内存空间是这样的结构: a b...
分类:
编程语言 时间:
2014-07-16 19:49:35
阅读次数:
172
很久之前就学习了c++继承中多态,但始终没有理解多态性质。上周看c++ primer第四版看到讲解的虚函数,才明白了虚函数展示了继承多态,多态性表示父类指针(实际指向派生类)调用虚函数,实际调用的的是派生类重写的虚函数,重写体现了继承多态性。理解虚函数,重点理解虚函数表,表中指针具体指向哪个类的成员...
分类:
其他好文 时间:
2014-07-13 10:13:01
阅读次数:
206
面向对象的特性
封装 继承
多态
封装:
定义:
通过对象的封装,实现了模块化和信息隐藏。
通过对类的成员施以一定的访问权限,实现了类中成员
的信息隐藏
注意点:
对象自已该做的一些事情与方法不能交与其它类去实现。
将内部的实现隐藏化。别人不用去关心内部怎么实现。
只要调用方法就可以得想结果。
继承:
继承的特性...
分类:
其他好文 时间:
2014-07-10 21:33:30
阅读次数:
253
Java重载:
在同一个类中方法具有相同的名字,相同或不同的返回值,但参数不同的多个方法(参数个数或参数类型)
public class MethoDemo{
public static void main(String args[]){
int one = add(10,20) ; // 调用整型的加法操作
float two = add(10.3f,13.3f) ;...
分类:
编程语言 时间:
2014-07-10 20:08:16
阅读次数:
265