Á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
TLPP 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, sendo 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 "tlpp_-core_dev.th"

//A definiçãoUma da 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()
EndInterface
 Class MyTest
Return

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

Class MeuTestMyTest2 implements FWTEST
	TlppInterface
   Public Method runrun2()
EndClass

Method runrun2() Class MeuTestMyTest2
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

//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 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 MeuTest2MyTest2
Return



Method run2() Class MyTest2
Return