[急]如何定义这样的类? ( 积分: 100 )

  • 主题发起人 主题发起人 冰冷的雨
  • 开始时间 开始时间

冰冷的雨

Unregistered / Unconfirmed
GUEST, unregistred user!
一个三层应用,对局域网内的设备进行管理。由于网络设备有服务器、路由器、交换机、
工作站等,它们的属性和方法都不完全一样。我想先找到他们共有的属性和方法,抽出
来作为基类,在此基础上再逐层扩展。这些类作为企业逻辑,放在应用服务器上,并通过
COM接口与客户端通讯。
网络设备的抽象类:TCustomLanNode;
PC机类:TPersonalComputer; 基类为TCustomLanNode和TAutoIntfObject,
并实现IPersonalComputer接口
路由器类:TRouter;基类为TCustomLanNode和TAutoIntfObject,
并实现IRouter接口
....
请问该如何声明这些类和接口?下面这种方法对吗?
在Type Library中:
ICustomLanNode = Interface
……
IPersonalComputer = Interface(ICustomLanNode)
……
IRouter = Interface(ICustomLanNode)
……
……
在单元文件中USES上述Type Library,并定义如下:
TCustomLanNode = class(TAutoIntfObject)
……
TPersonalComputer = class(TCustomLanNode,IPersonalComputer)
……
TRouter =class(TCustomLanNode,IRouter)
……
……
或者这个思路不对,请大家多指点
 
一个三层应用,对局域网内的设备进行管理。由于网络设备有服务器、路由器、交换机、
工作站等,它们的属性和方法都不完全一样。我想先找到他们共有的属性和方法,抽出
来作为基类,在此基础上再逐层扩展。这些类作为企业逻辑,放在应用服务器上,并通过
COM接口与客户端通讯。
网络设备的抽象类:TCustomLanNode;
PC机类:TPersonalComputer; 基类为TCustomLanNode和TAutoIntfObject,
并实现IPersonalComputer接口
路由器类:TRouter;基类为TCustomLanNode和TAutoIntfObject,
并实现IRouter接口
....
请问该如何声明这些类和接口?下面这种方法对吗?
在Type Library中:
ICustomLanNode = Interface
……
IPersonalComputer = Interface(ICustomLanNode)
……
IRouter = Interface(ICustomLanNode)
……
……
在单元文件中USES上述Type Library,并定义如下:
TCustomLanNode = class(TAutoIntfObject)
……
TPersonalComputer = class(TCustomLanNode,IPersonalComputer)
……
TRouter =class(TCustomLanNode,IRouter)
……
……
或者这个思路不对,请大家多指点
 
在弄个管理类如何?
 
delphi如何实现继承两个类.
 
做个通用接口,比如文件,不论什么文件,接口无非是打开,读写,关闭
先把需要的接口找出来,就容易了
 
wxfdage的意思是用接口做抽象,通过继承接口并实现它们来达到目的吗?
wlei9802 :你说的就是我想问的。我知道通过接口可以实现继承两个类,但是不知道:
TCustomLanNode = class(TAutoIntfObject)
……
TPersonalComputer = class(TCustomLanNode,IPersonalComputer)
……
TCustomLanNode以TAutoIntfObject为基类,但没定义接口,这种用法对不对。
duhai_lee:问题是怎么实现呢?
 
TPersonalComputer = class(TCustomLanNode,IPersonalComputer) //是可以的
delphi不能多继承类,多继承只能通过多继承接口实现
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部