Board logo

Subject: 初识类: 关于 virtual。 [Print This Page]

Author: skyjacker    Time: 2007-6-18 17:39     Subject: 初识类: 关于 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; 表示基类不知道如何实现,必须由子类来实现。
Author: skyjacker    Time: 2007-6-18 17:41

写类是被逼出来的, 理解类是绝望中的产物。
     当偶在完成某一功能模块时,就在接近绝望时,终于跨越雷池一步,加了个 virtual,
     结果峰会路转,然后乘胜追击,这种感觉无法言语。
Author: Passion    Time: 2007-6-19 00:18

原来现在面向对象才入门?
Author: skyjacker    Time: 2007-6-19 10:32

在门口站了快 2 年了.
现在正在开门, 还没完全打开门 ...

再加上门梁上还有 Window 猛吹消息拦路, 门槛上有 API 这些利剑,
后面还有项目追兵,
不知道要开多久才能进入.
Author: Passion    Time: 2007-6-19 17:29

拿着VCL的代码一脚踹过去。




Welcome to CnPack Forum (http://bbs.cnpack.org/) Powered by Discuz! 5.0.0