zoukankan      html  css  js  c++  java
  • Delphi面向对象的可见性表示符

      Delphi能通过在声明域和方法的时候用protected、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属性来实现。

  • 相关阅读:
    前端脚手架的那些事儿
    CSS重置默认样式reset.css代码模板
    Web 3.0 前瞻:基于区块链的下一代浏览器
    关键词定位是网站推广的基础
    6年架构师针对web前端小白,作出的职业规划建议
    和程序员约会的优点和缺点
    如何在软件开发中避免出现漏洞
    Linux下修改时区
    前端需要掌握的Nginx知识
    Nginx入门指南
  • 原文地址:https://www.cnblogs.com/xumenger/p/4434353.html
Copyright © 2011-2022 走看看