首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

关于 strict 在Delphi。该如何解决

2012-03-15 
关于 strict 在Delphi。。Strict 有什么功能??要怎么用。 怎么我Baidu 和 Google 它时,它的资料少的可怜 .

关于 strict 在Delphi。。
Strict 有什么功能??
要怎么用。 怎么我Baidu 和 Google 它时,它的资料少的可怜 =.=;;

×××××××××××××××××××××××××××××××××××

来个顺手牵羊吧,看一看以下的网址给意见。。 谢谢。。
http://topic.csdn.net/u/20100823/10/e500dad0-3992-4fb9-b54e-fcdc081d39f7.html

[解决办法]

Delphi(Pascal) code
//这个类中的两个字段没有封装  TMyClass1 = class    FName: string;    FAge:  Integer;  end;  //这个类中的两个字段封装了, 外部不能读写  TMyClass2 = class    private      FName: string;      FAge:  Integer;    //public  end;  //那怎么读写? 用属性啊  TMyClass3 = class  private    FName: String;    FAge: Integer;    procedure SetAge(const Value: Integer);    procedure SetName(const Value: String);  published    property Name: String  read FName write SetName;    property Age:  Integer read FAge  write SetAge;  end;  {现在 TMyClass3 中的两个字段: FName、FAge 和两个方法: SetAge、SetName    都被封装在私有区(private)内, 不允许外部读写, 只能是内部使用.    不过, private 的封装在本单元内是无效的! 现在好了, 有了 strict 标识符.}  //这个封装好了, 在 private 前加了 strict ; 现在除了自己谁也访问不了私有区.  TMyClass4 = class  strict private    FName: String;    FAge: Integer;    procedure SetAge(const Value: Integer);    procedure SetName(const Value: String);  published    property Name: String  read FName write SetName;    property Age:  Integer read FAge  write SetAge;  end;
[解决办法]
strict的作用就是使该内容变成意义上的private/protected作用域,这点没有什么多说的。语法:

strict private

// Blah...

strict protected

// Blah...

结构方法(Records with Methods)
也没什么特别的,就是和class差不多,就一个不用创建和销毁、不能继承、没有作用域之类的类,很容易掌握,所以这里就不多介绍了。但是很有意思的是带参数的constructor可以通过编译,可能是为了初始化的方便吧.......


[解决办法]
有区别的,在Delphi的Private中,同一单元内的不同的Class之间是能互相访问Private中的变量或函数的。但如果加上了Strict,那么在同一单元内不同的Class之间也不能互相访问Private中的变量或函数了。

但是我用的Delphi6好象没这东东。
[解决办法]
探讨
strict 一字是从Delphi 7 开始的。。

[解决办法]
探讨
引用:

引用:
strict 一字是从Delphi 7 开始的。。

瞎说..

那从哪个版本开始的??

[解决办法]
路过,帮你顶下啊。
[解决办法]
d7中相同单元的类都是友元的关系,所以能访问到private下的东西。

热点排行