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

TSomeObject = class
privateAPrivateVariable: Integer;AnotherPrivateVariable: Boolean;
protectedprocedure AProtectedProcedure;function ProtectMe: Byte;
publicconstructor APublicContructor;destructor APublicKiller;
publishedproperty 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
privateSomeValue: Integer;procedure SetSomeValue(AValue: Integer);
publishedproperty Value: Integer read SomeValue write SetSomeValue;
end;procedure TMyObject.SetSomeValue(AValue: Integer);
beginif SomeValue<>AValue thenSomeValue:= AValue;
end;

  

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

转载于:https://www.cnblogs.com/xumenger/p/4434353.html

Delphi面向对象的可见性表示符相关推荐

  1. Delphi面向对象编程的20条规则

    前言 大多数Delphi程序员都像使用Visual Basic 那样使用他们手头上开发工具,而丝毫没有意识到Delphi的强大功能,更谈不上使用这些功能了.(写到这里,编辑惶恐的举起了手,怎么可能呢? ...

  2. Delphi面向对象学习随笔六:接口

    Delphi面向对象学习随笔六:接口   Delphi面向对象学习随笔六:接口 作者:巴哈姆特 (转载请注明出处并保持完整) 在对象化中,类的继承是一个非常强大的机制:而更加强大的继承机制应该是来自从 ...

  3. ▼▲Delphi面向对象编程的20条规则

    ▼▲Delphi面向对象编程的20条规则(转载) 楼主ZyxIp(绝望中...)2003-09-02 14:28:07 在 Delphi / VCL组件开发及应用 提问 作者简介       Marc ...

  4. Delphi面向对象学习随笔一:类与对象的关系

    Delphi面向对象学习随笔一:类与对象的关系 作者:巴哈姆特 http://www.cnpack.org (转载请注明出处并保持完整) 工作几年了,总想做点总结,于是有了这篇东西,叫随笔吧呵     ...

  5. delphi面向对象(1)

    类与对象 TYPE 类名 = Class(父类) privatte 变量或者属性列表: 方法: protected 变量或者属性列表: 方法: public 变量或者属性列表: 方法: end; 一个 ...

  6. python属性访问权限_python 面向对象-访问权限修饰符

    1.访问权限修饰符可以用来修饰变量和方法 2.内部调用和外部调用: 比如在类的内部调用实例方法,叫内部调用:在类的外部调用实例化方法,叫外部调用 当然,类变量以及实例变脸也是有内部调用和外部调用 #c ...

  7. Delphi面向对象学习随笔七:COM

    作者:巴哈姆特 http://www.cnpack.org (转载请注明出处并保持完整) 上一篇,我们介绍了接口.如果没有接触过COM对象的话,你会觉得接口真的很麻烦,也许会有:"还不如直接 ...

  8. 娃娃鸭Delphi面向对象编程思想刘艺笔记

    4.  TComponent类 属性 1.  Name: TComponentName 2.  property Tag: Longint 3.  property Components[Index: ...

  9. 电子书下载:Delphi面向对象编程思想

    下载:http://www.400gb.com/file/54681305

最新文章

  1. JDBC编程:1(使用JDBC连接数据库)
  2. Java:使用匿名内部类在方法内部定义并启动线程
  3. Python语言学习之文件格式后缀那些事:python和常见各种文件格式后缀介绍、使用方法之详细攻略
  4. 国内三款主流海淘产品APP竞品分析
  5. 编程题:带参数的宏定义来实现,求圆的周长和面积。
  6. Ionic--再次打开自动填充用户名和密码的问题解决方法
  7. HDOJ1800 Flying to the Mars【Hash】
  8. redis简单使用1
  9. 普通摄像头的数据输出格式YUV与mjpeg之间联系、DCT离散余弦变换去噪跟压缩(待补充)
  10. 利润表模板excel_分享用了8年的excel记账系统,一键录入,多表生成,记账很简单...
  11. SpringBoot框架理解
  12. 常用电子元器件基础知识总结
  13. 江苏大学毕业论文答辩PPT模板
  14. 用 Python 实现电影订票系统 | 内附源码
  15. 作为股权类投资人,我们的投资偏好和投资原则
  16. ALTREA cyclone IV e系列程序固化方法
  17. 电脑远程调试手机浏览器
  18. 物联网工程专业该怎么学?老学长吐血整理!!
  19. 如何通过 6 个简单步骤在百度上看到您的网站
  20. PHP使用阿里云(语音合成)实现文字转语音“TTS“

热门文章

  1. python sklearn安装_安装 scikit-learn
  2. java中遍历collection_使用Java中的Iterator遍历Collection
  3. 统计学习导论_统计学习导论 | 读书笔记11 | 多项式回归和阶梯函数
  4. php 数据库 自增值,Mysql应用MySql数据库自动递增值问题
  5. vs xgb 神经网络_业界 | 深度学习与XGBoost在小数据集上的测评,你怎么看?(附源码)...
  6. 软件产品质量要求与评价_软件质量模型
  7. 贝叶斯决策理论对CIFAR-10数据图像分类
  8. abb工业机器人教程 zxw_【ABB工业机器人应用】YUMI-软管装配
  9. php sql 条件拼组_sql where查询拼接技巧
  10. 渗透专用linux镜像,安装DVWA渗透环境到CentOS7系统中(附百度云ova镜像下载)-Go语言中文社区...