|
#1
|
||||
|
||||
Интерфейсы
Сижу и туплю.
Код:
type InterfaceA = interface(IUnknown) [some GUID 1] .... end; InterfaceB = interface(InterfaceA) [some GUID 2] .... end; TSomeClass = class(TInterfacedObject, InterfaceB) ... end; SomeObject: TSomeClass; Supports(SomeObject, InterfaceB) = True, Supports(SomeObject, InterfaceA) = False. Код:
TSomeClass = class(TInterfacedObject, InterfaceA, InterfaceB) ... end; Грамотно поставленный вопрос содержит не менее 50% ответа. Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть. |
#2
|
|||
|
|||
Потому что наследование и имплементация есть разные вещи.
Т.е. наследование интерфейсов идет своим чередом, а вот когда ты создаешь класс имплементатор интерфейса, то берется результат цепочки наследования интерфейсов, а не сама цепочка. |
Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
dr. F.I.N. (11.02.2018)
|
#3
|
||||
|
||||
Цитата:
Грамотно поставленный вопрос содержит не менее 50% ответа. Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть. |