加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 为什么TObject.AfterConstruction和BeforeConstructio

发布时间:2020-12-15 04:32:28 所属栏目:大数据 来源:网络整理
导读:今天,当我不得不重写TObject的BeforeConstruction方法时,我想到了一个非常简单的问题: 为什么TObject方法AfterConstruction和BeforeConstruction具有公共可见性? 我希望他们受到保护. 他们不是的原因是什么? 我无法想象在没有调用该类的构造函数或析构函
今天,当我不得不重写TObject的BeforeConstruction方法时,我想到了一个非常简单的问题:

为什么TObject方法AfterConstruction和BeforeConstruction具有公共可见性?

我希望他们受到保护.
他们不是的原因是什么?

我无法想象在没有调用该类的构造函数或析构函数的情况下调用AfterConstruction或BeforeConstruction的有效目的.你呢?

解决方法

之前的一个问题是为什么其他一些方法是公开的而不是受保护的,the answer就是它们在某些时候需要被没有附加到类的实用函数调用.

TObject.AfterConstruction只由这样的实用函数System._AfterConstruction调用.如果它(严格)受到保护,那么该独立函数将无法访问该方法.

TObject的所有方法都是公开的.*我们可能找到理由解释为什么每个方法都是公开的,但在某个时刻,我怀疑任何给定方法公开的根本原因是所有其他方法也是公开的.

一旦Delphi与这些方法公开发布,其可见性的任何降低都有可能破坏现有代码.

*由于某些原因,GetDisposed和CheckDisposed除外.与TObject的大部分相比,它们相对较新.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读