首页 > Windows开发 > 详细

Delphi面向对象的可见性表示符

时间:2015-04-17 13:26:08      阅读:162      评论:0      收藏:0      [点我收藏+]

  Delphi能通过在声明域和方法的时候yogaprotected、private、public、published和automated指示符来对对象提供进一步的控制。使用这些关键字的语法如下

TSomeObject = class
private
    APrivateVariable: Integer;
    AnotherPrivateVariable: Boolean;
protected
    procedure AProtectedProcedure;
    function ProtectMe: Byte;
public
    constructor APublicContructor;
    destructor APublicKiller;
published
    property AProperty read AprivateVariable write APrivateVariable;
end;

  在每一个指示符下呢个声明人一多个方法和域。书写是要注意缩进格式。下面是这些指示符的含义:

1)private

  对象中的这部分只能被相同单元的代码访问。用这个指示符对用户隐藏实现的细节,并组织用户直接修改对象中的敏感部分

2)protected

  对象中的这部分成员只能被它的派生类访问,这样不仅能使对象向用户隐藏实现的细节,并未对象的派生类提供了最大的灵活性

3)public

  这部分的域和方法能在程序额任何地方访问,对象的构造器和析构方法通常应该是public

4)published

  对象的这部分将产生运行期类型信息(RTTI),并使程序的其他部分能访问这部分。Object Inspector用RTTI来产生属性的列表

5)automated

  这个指示符其实已经不用了,保留这个指示符的目的是为了与Delphi 2.0的代码兼容

 

  下面的代码是以前介绍过得TMyObject对象,其中通过增加指示符提高了对象的完整性:

TMyObject = class
private
    SomeValue: Integer;
    procedure SetSomeValue(AValue: Integer);
published
    property Value: Integer read SomeValue write SetSomeValue;
end;

procedure TMyObject.SetSomeValue(AValue: Integer);
begin
    if SomeValue<>AValue then
        SomeValue:= AValue;
end;    

  

  现在,对象的用户不能直接修改 S o m e Va l u e的值了,要修改对象的数据就必须通过 Va l u e属性来实现。

Delphi面向对象的可见性表示符

原文:http://www.cnblogs.com/xumenger/p/4434353.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!