困扰很久的有关问题 类中定义的放保护字里面和外面的函数有什么区别

困扰很久的问题 类中定义的放保护字里面和外面的函数有什么区别?
unit   dq;

interface

uses
    Windows,   Messages,   SysUtils,   Variants,   Classes,   Graphics,   Controls,   Forms,
    Dialogs,   StdCtrls,   DB,   ADODB,   Grids,   DBGrids,   ExtCtrls,   ztvregister,
    ztvBase,   ztvZip,   Buttons,   ComCtrls,iniFiles,StrUtils;

  type
        Tbillcode=array   of   string[2];

        Tdqfrm   =   class(TForm)
        ADOQuery1:   TADOQuery;
        Zip1:   TZip;
        ProgressBar1:   TProgressBar;
        ADOCommand1:   TADOCommand;
        BitBtn1:   TBitBtn;
        Button2:   TBitBtn;
        CheckBox1:   TCheckBox;
        procedure   FormShow(Sender:   TObject);
        procedure   Button2Click(Sender:   TObject);
        procedure   FormClose(Sender:   TObject;   var   Action:   TCloseAction);
        procedure   BitBtn1Click(Sender:   TObject);
        procedure   savetofile(s:string;name:string);
    private

        {   Private   declarations   }
    public
      procedure   savetofile(s:string;name:string);
        {   Public   declarations   }
    end;

请问procedure   savetofile(s:string;name:string);这个过程放在保护字里面和放在保护字前面有什么区别?比如放在private上面和放在   public里面有什么区别?

------解决方案--------------------
在本单元里没有什么区别,但在别的单元里有有区别了
private下面的是不可见的