【发布时间】:2017-09-23 18:00:49
【问题描述】:
我刚刚阅读了一种有趣的代码结构化方法,该方法将实际类隐藏在单元的实现部分深处,并仅通过接口公开它们,如下所示:
unit MyClass;
interface
type
IMyClass = interface(IInterface)
[GUID]
procedure A;
procedure B;
end;
function CreateMyClass: IMyClass;
implementation
type
TMyClass = class(TInterfaceObject, IMyClass)
strict private
procedure A;
procedure B;
end;
function CreateMyClass: IMyClass;
begin
Result := TMyClass.Create;
end;
...
end;
在我需要从 TMyClass 继承一个类以进行代码重用之前,这会产生奇迹。除了在同一单元implementation 部分中插入第二个类之外,还有其他方法吗?
【问题讨论】:
-
类本身在其他任何地方都不可见,除了在该单元内,在它声明的位置下方。您希望如何以不同的方式做到这一点?
标签: delphi inheritance