raise,override,overload都有什么用?
最好能举个简单的例子,override,overload究竟有什么区别,我怎么老感觉这两个dd没什么用呢
1个词10分  ^O^

解决方案 »

  1.   

    raise:抛出异常
    override:覆盖 以新方法替代同名的旧方法,对于基类要覆盖的方法,必须要声明为virtual或Dynamic,
    overload 重载 指实现同名过程而参数不同
      

  2.   

    procedure  MyQuery(ID:integer);overload;
    procedure  MyQuery(Name:String);overload;
    TMan=class
      function  CanSpeak:String;virtual; 
    end; TChinese
      function  CanSpeak:String;override; //此时将覆盖其基类中的CanSpeak方法
    end;
      

  3.   

    Raise一般用来升起异常
    比如
    Try
    .
    .
    Except
     raise Exception.Create('端口设置错误.');
    end;其它的你看看面向对象的书就是了,多态和继承
    ----------------------------------------------------------------
                 花自飘零水自流,一种相思,两处闲愁。
                   此情无计可消除,才下眉头,又上心头。
    ----------------------------------------------------------------
      

  4.   

    (1)Override: 覆盖
      在Object Pascal覆盖一个方法用来实现OOP的多态性,通过Override使方法在不同的派生类间表现
    不同的行为:eg:  TFoo = class
                      proceudre virtualmethod; virtual;
                      procedure Dynamicmethod; dynamic;
                    end;
                    TFooChild = class(TFoo)
                      proceudre virtualmethod; override;
                      proceudre Dynamicmethod; override;
                    end;   //派生类TFooChild的方法覆盖祖先类TFoo的方法;
    (2)overload: 重载
       使一个类中能有许多同名的方法带不同的参数表;
       eg:  type
              TFoo = class
                proceudre AMethod(i: integer); overload;
                proceudre AMethod(s: string); overload;
                proceudre AMethod(d: double); overload;
              end;
    (3) raise :  重新触发异常;
       Try
         DoSomething
       Except
       raise Exception.Create('端口设置错误.');
      end;
    -------------------------------------------------------------------------
        看我打字打的这么累, 兄弟就给点分吧!:)
      

  5.   

    coeltdit(睫毛上的冰)  你是学生或者刚刚毕业吧,我在学校的时候好象在bbs上见过这个名字,你不会何我一个学校的吧,你是哪个学校的?如果是一个学校的就给你分 :)
      

  6.   

    to  scer4514():
           先别套近乎, 先给分吧! 你这样问我, 我看在分的份上也会说是一个学校的啦。:)