我们可以注意到,protected节中有一个DoLoad方法,它就被用来完成第一个步骤——每个编辑器控件去将文本读入编辑器。然后,DoLoad由Load方法中被选择在适当的时机调用。 基类的实现如下: function TEditor.Load(FileName : String) : Boolean; begin Result := DoLoad(FileName); if Result then m_FileName := FileName; end; function TEditor.Save() : Boolean; begin SaveAs(m_FileName); // 调用抽象的 SaveAs end; 接着,我们使用TMemo来实现一个编辑器类: TMemoEditor = class(TEditor) private m_Editor : TMemo; protected function DoLoad(FileName : String) : Boolean; override; public constructor Create(); destrcutor Destroy(); override; function SaveAs(FileName : String) : Boolean; override; // ...其它需要的操作 end; |
正在阅读:三谈多态—善用virtual三谈多态—善用virtual
2004-02-14 09:34
出处:PConline
责任编辑:zwg
键盘也能翻页,试试“← →”键