Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Estado
subtletrue
colourGreen
titletlpp - language

Composition Setup
import.css=/download/attachments/327912/newLayout.css
Portuguese
Section

Abrangência
Versão 17.3.0.0 e superiores

Section
A partir da versão 17.3.0.0 será possível a definição de interface e a utilização da mesma na definição das classesTLPP oferece o recurso de declaração de interface, cujo conceito é definir tão e somente os protótipos de métodos que uma classe deverá implementar.
A implementação dos métodos não é feita pela interface, mas deverá ser feita por uma classe que fará uso da mesma.
Uma classe pode implementar uma ou mais interfaces, todas tem que estar definidas no mesmo fonte ou em um include desse fontesendo que todas elas devem, impreterivelmente, ser conhecidas no código fonte da classe.
A interface pode estar diretamente no fonte ou ser adicionada via arquivo de include.



Bloco de código
languagecpp
firstline1
titleInterface.tlppImplementação de interface
linenumberstrue
#include "protheustlpp-core.chth"

//A definição daUma interface deveráchamada estar no mesmo fonte em que está a classe, mas poderá estar dentro de um include também.
Interface FWTEST
	TlppInterface
Interface TlppInterface
   Public Method run()
EndInterface

Class MyTest implements TlppInterface
   Public Method run()
EndClass

Method run() Class MyTest
EndInterfaceReturn

/* Forçadamente, este código deve gerar um erro de compilação */
Class MeuTest/* O compilador informará que o método run, definido na interface TlppInterface, não foi implementado pela classe MyTest2 */ 

Class MyTest2 implements FWTEST
	TlppInterface
   Public Method runrun2()
EndClass

Method runrun2() Class MeuTest
Return


//erro de compilação pois não tem a implementação do método run que está definido na interface FWTEST 
Class MeuTest2 implements FWTEST 
	Method run2()
EndClass


Method run2() Class MeuTest2
Return



MyTest2
Return 




Section

Para implementar múltiplas interfaces, basta listá-las após a palavra chave "implements", conforme exemplo seguinte.



Bloco de código
languagecpp
firstline1
titleImplementação de múltiplas interfaces
linenumberstrue
#include "tlpp-core.th"

Interface TlppInterface
   Public Method run()
EndInterface

Interface TlppInterface2
   Public Method run2()
EndInterface

// Note que vamos implementar duas interfaces
Class MyTest2 implements TlppInterface, TlppInterface2
   Public Method run()    // vem da interface 1
   Public Method run2()   // vem da interface 2
EndClass

Method run() Class MyTest2
Return

Method run2() Class MyTest2
Return