1.在一般情况下,指向一种类型对象的指针不允许指向另一种类型的对象,然而指向基类对象的指针可以指向该基类的共有派生类对象(反过来不成立),这是运行时,多态的基础。指向基类队象的指针指向派生类对象后,可以访问派生类中有基类继承下来的成员,但不能访问那些派生类对象自己增加的成员。
2.一个含有虚函数的类称为多态类。
3.虚函数就是在一个类中用virtual定义的成员函数。基类的虚函数在派生类中仍是...
分类:
编程语言 时间:
2014-06-07 01:27:01
阅读次数:
236
1 设计一个基类
2 继承这个基类,并包含这个基类的一个对象
3 创建继承类的时候,初始化这个基类,因为是基类指针,所以可以是所有基类的衍生类对象,那么就可以叠加任意多个衍生类对象了。
关键是在衍生类中包含一个基类对象,然后有了继承和包含两重关系,可以使得一个类一个类对象叠加,达到装饰目的。
等于是创建了一个对象指针链表,一个一个对象发挥其相应的作用。
下面程序装饰一个桌...
分类:
其他好文 时间:
2014-06-05 06:15:17
阅读次数:
278
一、我们首先看一个例子,一个孙子类继承了两个父亲类,两个父亲类同时继承同一个爷爷类。
#include
using namespace std;
class Parent
{
public:
int p_; // p将会被所有的子类继承,也将是二义性的根源
Parent(int p)...
分类:
编程语言 时间:
2014-06-05 06:00:45
阅读次数:
217
Settings是android系统设置的入口。主界面由Settings.java以及settings_headers.xml构成。Settings类继承自PreferenceActivity,而PreferenceActivity又继承自ListActivity,ListActivity拥有Lis...
分类:
移动开发 时间:
2014-06-03 13:59:05
阅读次数:
340
用于大型程序的工具--多重继承与虚继承[续2]七、特殊的初始化语义 从具有虚基类的类继承的类对初始化进行特殊处理:在虚基类中,由最低层派生类的构造函数初始化虚基类。在ZooAnimal示例中,使用常规规则将导致Bear 类和 Raccoon类都试图初始化Panda对象的ZooAnimal类部分。 虽然由最低层派生类初始化虚基类,但是任何直接或间接继承虚基类的类一般也必须为该基类提供自己的初始化式。...
分类:
编程语言 时间:
2014-06-01 16:18:16
阅读次数:
353
用于大型程序的工具--多重继承与虚继承引言: 大多数应用程序使用单个基类的公用继承,但是,在某些情况下,单继承是不够用的,因为可能无法为问题域建模,或者会对模型带来不必要的复杂性。 在这些情况下,多重继承可以更直接地为应用程序建模。多重继承是从多于一个直接基类派生类的能力,多重继承的派生类继承其所有父类的属性。一、多重继承1、定义多个类 为了支持多重继承,扩充派生列表:class Bear : p...
分类:
编程语言 时间:
2014-06-01 15:59:01
阅读次数:
393
用于大型程序的工具--多重继承与虚继承[续1]四、多重继承下的类作用域 成员函数中使用的名字和查找首先在函数本身进行,如果不能在本地找到名字,就继续在本类中查找,然后依次查找每个基类。在多重继承下,查找同时检察所有的基类继承子树 —— 在我们的例子中,并行查找 Endangered子树和Bear/ZooAnimal子树。如果在多个子树中找到该名字,则那个名字的使用必须显式指定使用哪个基类;否则,该...
分类:
编程语言 时间:
2014-06-01 14:44:35
阅读次数:
367
继承和组合都可以达到代码复用的目的,但是组合比继承更具灵活性。组合是通过引用已有类(一般为抽象类)或接口来实现复用的组合在运行时通过多态可以动态替换被组合的对象。继承是通过以子类继承父类方式来使父类的非私有成员可以被其子类使用。继承在类编译时就确定了继承来的方法和属性,无法在运行时动态改变从父类继承...
分类:
其他好文 时间:
2014-05-31 16:52:23
阅读次数:
196
1.Properties类与Properties配置文件
Properties类继承自Hashtable类并且实现了Map接口,也是使用一种键值对的形式来保存属性集。不过Properties有特殊的地方,就是它的键和值都是字符串类型。2.Properties中的主要方法(1)load(InputS....
分类:
编程语言 时间:
2014-05-29 15:46:40
阅读次数:
303
TokenStream是一个能在被调用后产生语汇单元流的类,但是 TokenStream
类有两个不同的类型:Tokenizer 类和 TokenFilter 类。这两个类都是从抽象类TokenStream类继承而来。 Tokenizer
对象通过Java.io.Reader 对象读取字符...
分类:
其他好文 时间:
2014-05-29 15:01:26
阅读次数:
551