我看的是delphi6开发人员指南的译本!不过这书p78说静态方法不可以覆盖,而p79却说可以!!!

解决方案 »

  1.   

    可以的!
    procedure Tsys.setXY(x, y: integer);
    begin
      FX:=x;
      FY:=y;
    end;procedure Tsys.showname;
    begin
      showmessage('parent class Tsys') ;
    end;procedure Tsys.showXY;
    begin
       showmessage('TSys的两个私有变量:FX:='+inttostr(FX)+'和FY:='+inttostr(FY));
    end;{ TMySys }procedure TMySys.setNM(n, m: integer);
    begin
      FN:=n;
      FM:=m;
    end;procedure TMySys.showname;
    begin
      showmessage('the son class TMysys');
    end;procedure TMySys.showNM;
    begin
     showmessage('TSys的两个私有变量:FN:='+inttostr(FN)+'和FM:='+inttostr(FM));end;procedure TForm1.Button1Click(Sender: TObject);
    var
      sys:Tsys;
      Mysys:TMysys;
    begin
      sys:=Tsys.create;
      sys.showname ;
      //mysys:=TMysys.Create ;
     // mysys.showname;
     // Tsys(Mysys).showname  ;
       TMysys(sys).showname;
    end;end.
      

  2.   

    这是他们的定义
    type
      Tsys=class(Tobject)
      private
         FX:integer;
         FY:integer;
      public
         procedure showname();
         procedure setXY(x:integer;y:integer);
         procedure showXY();  end;
      TMySys=class(Tsys)
       private
          FN:integer;
          FM:integer;
       public
          procedure setNM(n:integer;m:integer);
          procedure showNM();
          procedure showname();   end;