初识类: 关于 virtual。
1. virtual 具体使用:
(1)、将一个方法 B.A 作为 virtual, 两个派生的类来实现不同的 D1.A, D2.A
当然, B.A 也可以实现一个默认的 A.
这样 A 就有三种具体的功能了, 分别属于 B, D1, D2 。
D1, D2 共用了 B 的除了 A 的代码。
(2)、如果将 B.A 作为 virtual; abstract; 那么基类 B 就不能实现 A 了。
这样 A 就只有 两种 具体的功能了, 分别属于 D1, D2 。
(3)、virtual 更实现了基类的多态。
这样,基类就可以在不知道到自己的孩子到底有多少潜质的情况下,
来使用孩子的功能。具体孩子是龙是凤,就看孩子自己的了。
2. 何时使用
(1)、只用 virtual, 基类可以实现一个默认的动作
(2)、使用 virtual; abstract; 表示基类不知道如何实现,必须由子类来实现。
|