Delphi XE中类成员的访问权限

Delphi XE中类成员的访问权限

共提供了6个关键词来用于限定访问权限:

public、private、protected、published、automated strict private 、 strict protected
其各自的含义为:

1. strict private:

此区定义的字段或方法只能用于当前的类中。即T1中此区定义的成员只能在T1中使用。
2. strict protected:

此区定义的成员除能用于当前类中,还可用于当前类的任何子类中。 以上两种成员,同一个类的不同对象间也不能互访问。
3. private:

所限定的成员只能用于定义这个类的.pas文件或.dpr文件。
4. protected:

相当于将private扩展到任意子类均可见。
5. public:

对任何位置、任何类均可见。当某些成员未显式指定其访问权限时,Delphi默认为此public。
6. published:

访问权限与public相同。
7. automated:

用于Win32下的COM编程。

 

注意:strict private与strict protected从Delphi2007开始引入,之前的版本不存在这两种等级

在 published published published 区声明属性时应注意以下两点:

  1. published published 属性的值只能是:有序类型、字符串接口变体方法指针以及上下界在 0到 31 之间的集合类型。实数不能是 Real48 类型。
  2. 不能以同一个名字公布两个或更多的重载方法。
时间: 2024-09-13 08:21:44

Delphi XE中类成员的访问权限的相关文章

Java中成员方法与成员变量访问权限详解_java

记得在一次面试的笔试题中,有的面试官会要求写出具体的像pullic这些访问限定符的作用域.其实,平常我都没去系统的考虑这些访问限定符的作用域,特别是包内包外的情况,OK,笔试不行了.  这是java基本的知识,也是公司看重的,那没办法啦,我的脑袋记不住东西,那我只能把这些东西写下来方便自己温故知新,不废话了,贴代码了. 代码如下: package com.jaovo; /** *_1_ 成员变量访问权限的求证 * public private protected default(默认的权限) *

java类访问权限与成员访问权限解析_java

在写代码的时候有个问题:包内定义了一个接口类,另外一个包要实现它,这里采用接口隔离与依赖倒置原则,将两个包的依赖关系倒置过来.但是,这里就遇到了一个问题,实现类采用工厂模式来实例化,所以实现类就不想暴露给包外,但是实现类还要实现public接口.所以这里有产生了一个疑问,如果类是default类型,成员函数是public类型,那么访问限制是怎样的呢? 实现验证 1. 先在一个包中定义一个接口类: package mytest public interface ClassAccessTest {

派生类与派生类对象对基类成员的访问

区分"派生类对象"和"派生类"对基类成员的访问权限.    "派生类对象"对基类成员的访问权限:      (1)对于公有继承,只有基类的公有成员可以被"派生类对象"访问,其他(保护和私有)成员不能被访问.      (2)对于私有继承和保护继承,基类中所有成员都不能被"派生类对象"访问.    "派生类"对基类中成员的访问权限:     (1)对于公有继承,基类中的公有成员和保护成

举例详解Java中的访问权限修饰符_java

访问权限符:(1)public: 对于成员来说:任何其他类都可以访问它们,不管在同一个包中还是在另外的包中. 对于类来说:    也是一样.(2)friendly: 对于成员老说:如果一个类的成员没有任何权限修饰,那么它门就是缺省包访问权限,用friendly来表示,注 意friendly不是Java中的关键字,这里是个人喜欢的方式用它表示而已.同一个包内其它类可以访问,但包外 就不可以.对于同一个文件夹下的.没有用package的classes,Java会自动将这些classes初见为隶属于该

Java编程思想学习笔记——类的访问权限

类的访问权限 Java中,访问权限修饰词用于确定库中哪些类对于该库的使用者是可用的. public class Foo{ } 注意点: 每个文件(编译单元)只能有一个public类. public类的名称必须完全和含有该编译单元的文件名相匹配,包括大小写. 编译单元内没有public类也是可行的(不常这么用),在这种情况下,可以随意对文件命名. 类既不可以是private的(除该类以外,任何类都不能访问它),也不可以是protected.(事实上,内部类可以是private或protected的

C++ protected成员访问权限

C++ protected成员访问权限   关于C++中protected的访问权限的讨论已经是一个很陈旧的话题了,陈旧到大家都不愿意去讨论,觉得他见到到吃饭睡觉那么自然. 我再次读<C++ Primer>的时候,其中关于protected 成员的描述是这样的:   protected Members   The protected access label can be thought of as a blend of private and public : Like private me

c++中类访问权限的问题

问题描述 c++中类访问权限的问题 #include "stdafx.h" #include "iostream" using namespace std; class Score{ public: void Input(); void Sum(); void Show(); private: double No,fMath,fPhi,fDate,fSum; char Name[10]; } void Score::Input(){ cout<<&quo

java的访问权限控制

访问控制(或隐藏具体实现)与"最初的实现并不恰当"有关 访问控制符的等级,从最大权限到最小权限依次为:public.protected.包访问权限(没有关键词).private 1.包:库单元 package 包内包含有一组类,它们在单一的名字空间之下被组织在了一起. import关键字:如果要导入单一的类 import java.util.ArrayList 想要导入其下所有的类 import java.util.* 包机制:为了解决名字空间.名字冲突 当编写一个Java源代码文件时

Java语言入门教程(三):Java语言的访问权限修饰符

上篇文章中,提到了Java类需要打包,打包后可以进行访问权限控制.本文 中,将对Java语言中的访问权限修饰符,进行简单介绍. 一个Java应用有很多类,但是有些类,并不希望被其他类使用.每个类中都 有数据成员和方法成员,但是并不是每个数据和方法,都允许在其他类中调用. 如何能做到访问控制呢?就需要使用访问权限修饰符. Java语言中的访问权限修饰符有4种,但是仅有3个关键字,因为不写访问权 限,在Java中被称为默认权限,或同包权限,本文中以(default)代替.下面 按照权限从小到大的顺序