文档章节

理解 Delphi 的类(十一) - 深入类中的方法[4] - 访问限制(或者叫可见性)

涂孟超
 涂孟超
发布于 2014/09/26 15:33
字数 329
阅读 7
收藏 0
//下面说的数据成员不仅仅指方法
TMyClass = class(TObject)
  function Fun1: string; {公共区域的数据成员在默认状态下会归于 published 区}
  //所谓默认状态就是编译指令为{$M+}, 如果是{$M-}这些数据成员会归于 public 区 
private
  function Fun2: string; {private 区的数据成员只能在类内访问}
protected
  function Fun3: string; {protected 区的数据成员只给自己或子孙类访问}
public
  function Fun4: string; {public 区的数据成员是公开的, 能够给子孙类或实例化后对象公开使用}
published
  function Fun5: string; {published 区的数据成员首先类似 public; 它同时属于 RTTI 信息}
  //譬如我们在 Object Inspector 窗口能够见到的属性、方法、事件都是属于 published 区的
end;

 
 
 
 
 

 

 

  
//Delphi 还有一个叫"友元类"的概念, 就是指在一个单元内的类直接是没有访问限制的, 哪怕是在 private 区. {现在的解决方案是使用 strict 保留字} TMyClass = class(TObject) function Fun1: string; strict private function Fun2: string; {strict private 区的数据成员只能是类内部访问} strict protected function Fun3: string; {strict protected 区的数据成员只能是类或子孙类访问} public function Fun4: string; published function Fun5: string; end;

本文转载自:http://www.cnblogs.com/del/archive/2008/01/16/1041446.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
Delphi 面向对象编程 第二章

类的声明是一种类型声明,在delphi中,类被当作一个类型来声明,语法为: type classname = class (baseclass) {field } {procedure and function } {property } end; 注意:1、类的声明可以...

CODER-SU
2011/12/20
0
1
再有人问你synchronized是什么,就把这篇文章发给他。

在《深入理解Java虚拟机》中,有这样一段话: synchronized关键字在需要原子性、可见性和有序性这三种特性的时候都可以作为其中一种解决方案,看起来是“万能”的。的确,大部分并发控制操作...

Java填坑之路
08/07
0
0
深入理解JVM类文件格式

我们知道Java最有名的宣传口号就是:“一次编写,到处运行(Write Once,Run Anywhere)”,而其平台无关性则是依赖于JVM, 所有的java文件都被编译成字节码(class)文件,而虚拟机只需要认...

卡巴拉的树
2017/11/15
0
0
深入理解JVM类文件格式

我们知道Java最有名的宣传口号就是:“一次编写,到处运行(Write Once,Run Anywhere)”,而其平台无关性则是依赖于JVM, 所有的java文件都被编译成字节码(class)文件,而虚拟机只需要认...

Shuqing,Wang
2017/11/20
0
0
Java 多线程并发编程面试笔录一览

知识体系图: 1、线程是什么? 线程是进程中独立运行的子任务。 2、创建线程的方式 方式一:将类声明为 Thread 的子类。该子类应重写 Thread 类的 run 方法 方式二:声明实现 Runnable 接口的...

老道士
07/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

docker run 创建一个新的容器并运行一个命令

docker run常用命令 docker run :创建一个新的容器并运行一个命令 语法:docker run [OPTIONS] IMAGE [COMMAND] [ARG...] 1.OPTIONS说明 -t:为容器重新分配一个伪输入终端,通常与 -i 同时使...

lwenhao
5分钟前
0
0
安装Win出现无法创建新的分区也找不到现有的分区解决方案

无法创建新的分区也找不到现有的分区 ### 首先在安装界面按下 Shift+F10### 在出现的CMD界面输入: diskpart 进入磁盘管理工具diskpart### 可以输入 : list disk 查看磁盘列表l...

Kxvz
8分钟前
0
0
关于 @ngrx/Store 下 obj 的扩展问题

昨天做 task 的时候,遇到了一个问题。 TypeError: can't define property "x": "obj" is not extensible 而我的代码是 public txTiles: Array<TransactionFilterTile>; constructor(priv......

IrisHuang
10分钟前
0
0
presto内存管理及调优

内存池 Presto有三种内存池,分别为GENERAL_POOL、RESERVED_POOL、SYSTEM_POOL。这三个内存池占用的内存大小是由下面算法进行分配的: builder.put(RESERVED_POOL, new MemoryPool(RESERVED...

张欢19933
10分钟前
0
0
Mysql5.7服务版安装

步骤1: 勾选同意协议 步骤2:选择Server only模式 步骤3:选择安装目录 步骤4:执行文件 步骤5:端口号与用户配置 步骤6:选择标准系统用户 Finish后,安装完成。...

lyle_luo
11分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部