请问在这private和public里面定义什么?unit New;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms;type
  TfrmNewItem = class(TForm)
  private             //在这里定义什么????
    { Private declarations }
  public              //在这里定义什么????
    { Public declarations }
  end;var i: integer; //这里定义的就是对外可见的全局变量。
    frmNew: TfrmNew;implementationvar j: integer; //这里定义的就是单元全局变量。{$R *.dfm}.
.
.
end.

解决方案 »

  1.   

    private 定义的是私有的
    就是说只能在本单元引用的
    而public是公有的
    都可以引用
      

  2.   

    在private里定义的是在本FORM中的变量
    public里定义的是全局变量。
      

  3.   

    类级别的封装是最常见的封装形式。 
    每个Object Pascal的类,有四种访问级别:private、protected、public、published。
    其中,public的成员可以被外界的所有客户代码直接访问;published和public差不多,区别仅在于published的成员可以被Delphi开发环境的Object Inspector所显示,因此一般将属性或事件声明于published段;private成员为类的私有性质,仅有类本身和友元可访问;protected成员基本与private类似,区别在于protected可以被该类的所有派生类访问。 在类级别的封装中,对外界的接口是public方法和published成员的集合,private和protected的集合则属于类的实现细节。
    而对于该类的派生类来说,接口是public、published与protected的集合,而只有private部分为内部实现细节。 
    2.2.2 单元级别的封装 单元级别的封装包含的含义有: 
    1.在一个Unit中声明的多个类,互为友元类。 
    2.在一个Unit的interface部分声明的变量为全局变量,其他Unit可见。
    3.在一个Unit的implementation部分声明的变量为该unit的局部变量,只在该Unit可见。 4.每个Unit可有单独的初始化段(initialization)和反初始化段(finalization),可在编译器支持下自动进行Unit级别的初始化和反初始化。 Object Pascal规定,声明在同一个Unit之中的多个类互为友元类,友元类之间可以互相访问所有数据,无论是public的,还是private的,或者是protected的。也就是说,友元类之间没有秘密。
      

  4.   

    我是想问:
    2和3处定义的变量有什么区别?
    1和4处定义的变量有什么区别?
    unit New;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms;type
      TfrmNewItem = class(TForm)
      private             //1
        { Private declarations }
      public              //2
        { Public declarations }
      end;var i: integer; //3
        frmNew: TfrmNew;implementationvar j: integer; //4{$R *.dfm}.
    .
    .
    end.
      

  5.   

    不懂得专业术语,就白话给你说吧。
    private里定义类的私有成员,外界无法访问;public里定义共有成员,外界可以访问。
    最本质的区别就是在1,2是类的成员,3,4不是
    2和3的区别:其他单元调用2时候要frmNew.xxxxxxxxx,3可以直接调用xxxxxxxxx;
    1和4的区别:1只能在类内部调用,只能在frmNew.xxxxxxxxx这样定义的函数内调用,如果一个函数xxxxxxxxx,前面没有"frmNew."则不能调用1,4则可以在本单元内的任意地方调用。
      

  6.   

    我也是初学我把变量当作函数的理解。函数定义在public中有什么限制变量同样有什么限制~不知道对不对