type TDb = class public procedure Operate1; virtual; procedure Operate2; virtual; end; TDbAccess = class public procedure Operate1; override; procedure Operate2; override; end; TDbSqlServer = class public procedure Operate1; override; procedure Operate2; override; end;procedure TDb.Operate1; beginend;procedure TDb.Operate2; beginend;{ TDbSqlServer }procedure TDbSqlServer.Operate1; begin inherited;end;procedure TDbSqlServer.Operate2; begin inherited;end;{ TDbAccess }procedure TDbAccess.Operate1; begin inherited;end;procedure TDbAccess.Operate2; begin inherited;end;可以在配置文件中放置一个参数,定义系统用什么数据库,根据不同的数据库创建不同的数据库操作对象var db:TDb begin db := TdbAccess.create; 或者 db := TdbSqlserver.create; end;
type
TDb = class
public
procedure Operate1; virtual;
procedure Operate2; virtual;
end; TDbAccess = class
public
procedure Operate1; override;
procedure Operate2; override;
end; TDbSqlServer = class
public
procedure Operate1; override;
procedure Operate2; override;
end;procedure TDb.Operate1;
beginend;procedure TDb.Operate2;
beginend;{ TDbSqlServer }procedure TDbSqlServer.Operate1;
begin
inherited;end;procedure TDbSqlServer.Operate2;
begin
inherited;end;{ TDbAccess }procedure TDbAccess.Operate1;
begin
inherited;end;procedure TDbAccess.Operate2;
begin
inherited;end;可以在配置文件中放置一个参数,定义系统用什么数据库,根据不同的数据库创建不同的数据库操作对象var
db:TDb
begin
db := TdbAccess.create;
或者
db := TdbSqlserver.create;
end;
接口
抽象类
实体类
用接口来强制程序员对新产品的某行为进行实现(如另加XML为存储源)