type
  TForm1 = class(TForm)  {  FontDialog1: TFontDialog;
    btnUndo: TButton;
    btnSet: TButton;
    Memo1: TMemo;     //类的合成
    procedure btnSetClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure btnUndoClick(Sender: TObject);
  }
  private
    FOriginalFont:TFont;
  public
    { Public declarations }
  end;

解决方案 »

  1.   

    ,,,继承   类名称 = class(父类名称)            public                 <公共类元素>            private<私有类元素>            protected<保护类元素>            published   <可显类元素>             End;²        Tobject是其他所有类的最终祖先,因此如果类在声明中没有指定父类,那默认为Tobject²        如果有构造方法和析构方法,请放置在公共类型中,析构方法后要放override²        在基类中的方法定义后加有virtual形式时,子类定义同名方法加override,此时称之为覆盖。²        保留字inherited n         后跟一个成员名称,表示在封装了方法的类的直接祖先中搜寻成员之外,还可以表示标准方法的调用或对属性、域的引用。n         反之,只表示对当前定义声明封装的方法在所属类的直接祖先中同名方法的调用2.      虚拟方法与动态方法     加有关键字virtual 的方法称为虚拟方法,关键字dynamic的方法称为动态方法。两者都可以被覆盖。3.      Reintroduce再引入用于防止编译器关于隐藏先前的虚拟方法给出警告,你在写子类时,新声明了一个跟父类中已有的方法同名的方法,这样编译器将会自动
    对父类该方法进行隐藏!当父类中的方法为普通静态方法时,无所谓的,你只要在子类中直接声明定义你的同名方法即可,编译器对于这种隐藏不会有什么反应!但是,当父类中该方法为虚拟或动态方法时,你在子类中所声明并定义的同名方法,编译器将会报警说你隐藏了基类中的同名虚拟方法!所以,假如你确定要这么做,而又不想让编译器进行报警的话,就要用到reintroduce,说白了,它的用法就是去镇压编译器的报警的!4.      overload重载方法(在Reintroduce基础上),该方法重载了继承得到的方法而没有对其隐藏,调用子类中的方法是根据给出的参数来决定哪个方法被激活。5.      抽象类abstract        只有类中有一个抽象方法,那么该类就是抽象类。        抽象方法的定义:procedure[function] 方法名(参数表);virtual;abstract;说明:抽象方法的前提该方法必需是一个虚拟方法,不同之处在于,抽象方法只是定义,并不进行任何实现,而是由子类实现覆盖的地方进行实现。6.      属性1)       说明:属性是与对象相关的数据的接口,具有访问说明符,用来决定如何读取和修改属性的数据。2)       定义:Property 属性名:类型①[Read/数据域/方法/]②[Write/数据域/方法/]③[Stored/True/False/方法/]④[Default缺省值;]1.           四部分为可选,如果没有,表明继承父类的属性。2.           有①无②表明该属性为只读3.           有②无①表明该属性为只写4.           ③表示窗体设计时设定的属笥值是否存储在DFM文件中5.           ④初始化数据域,没有时缺省值为0属性与变量的关系;    设置属性,其相当于声明了一个公共的变量。属性是控件对外发部的接口,而变量是控件实际运行时属性存取数据的地方。   获得属性通过定义一个函数得到相应的反回值,写属性通过定义一个过程对其变量进行赋值。格式如下:  Function 读函数名:非简单属性类型  Proceture 写过程名(Value:非简单属性类型)
      

  2.   

    Delphi中只支持Public继承,不像C++支持Public,Private,Protected继承。
    Delphi支持的继承规则是:
        父类的Public子类和其它可以访问;
        父类的protected只有子类可以访问;
        父类的Private子类和其它都不能访问(特殊情况:如果两个类在同一个文件中,一个类可以访问另一个类中的Private)。