Olá, Frederico.
Bom, primeiro deixa eu te orientar... quando você postar algum trecho de código em mensagens aqui, anteceda o código com <pre> e no final coloque </pre>
desta forma, o código sairá formatado com as cores padrões do VFP.
Agora esclarecendo, olhando para o código, achei um erro tolo. No exemplo, acabei declarando apenas a classe Taxa como OLEPUBLIC. Na verdade, o correto é que ela não deve ser criado como OLEPUBLIC, pois como é a classe abstrata, não será utilizada diretamente. Assim sendo, não necessita ser um componente COM.
Assim, apenas as outras duas classes é que devem ser definidas como OLEPUBLIC. Assim:
DEFINE CLASS taxa as custom
DEFINE CLASS TaxaBrasil AS Taxa OLEPUBLIC
DEFINE CLASS TaxaPortugal AS Taxa OLEPUBLIC
supondo que você compile estas classes como DLL´s, em um projeto de nome "Teste", pode utilizá-las como segue:
oTaxa = CreateObject("teste.TaxaBrasil")
? oTaxa.CalcularTaxa(200)
oTaxa = CreateObject("teste.TaxaPortugal")
? oTaxa.CalcularTaxa(200)
Claudio Lassala