码迷,mamicode.com
首页 > Windows程序 > 详细

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

时间:2015-04-17 13:26:24      阅读:141      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!